Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   * 
  *   http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.    
  */
 
 package org.apache.tuscany.sca.implementation.java;
 
This class represents a java element such as a Package, Class, Constructor, Field, Method or Parameter.

Version:
$Rev: 723300 $ $Date: 2008-12-04 14:42:00 +0200 (Thu, 04 Dec 2008) $
 
 public class JavaElementImpl {
     private AnnotatedElement anchor;
     private ElementType elementType;
     private Class<?> type;
     private Type genericType;
     private int index = -1;
     private String name;
     private Class<? extends Annotationclassifer;
 
     public JavaElementImpl(Class<?> cls) {
         this. = cls;
         this. = .;
         this. = cls;
         this. = cls;
         this. = cls.getName();
     }
 
     public JavaElementImpl(Field field) {
         this. = field;
         this. = .;
         this. = field.getType();
         this. = field.getGenericType();
         this. = field.getName();
     }
 
     public JavaElementImpl(Constructor<?> constructorint index) {
         this. = constructor;
         this. = .;
         this. = constructor.getParameterTypes()[index];
         this. = constructor.getGenericParameterTypes()[index];
         this. = index;
         this. = "";
     }
 
     public JavaElementImpl(Method methodint index) {
         this. = method;
         this. = .;
         this. = method.getParameterTypes()[index];
         this. = method.getGenericParameterTypes()[index];
         this. = index;
         this. = "";
     }

    
For testing purpose

Parameters:
name
type
classifer TODO
elementType
 
     public JavaElementImpl(String nameClass<?> typeClass<? extends Annotationclassifer) {
         super();
         this. = type;
         this. = name;
         this. = classifer;
     }

    

Returns:
the anchor
 
     public AnnotatedElement getAnchor() {
         return ;
     }

    

Returns:
the elementType
    public ElementType getElementType() {
        return ;
    }

    

Returns:
the genericType
    public Type getGenericType() {
        return ;
    }

    

Returns:
the index
    public int getIndex() {
        return ;
    }

    

Returns:
the type
    public Class<?> getType() {
        return ;
    }

    

Returns:
the annotations
    public Annotation[] getAnnotations() {
        if ( == .) {
            if ( instanceof Method) {
                // We only care about the method-level annotations
                return ((Method)).getAnnotations();
            }
            if ( instanceof Constructor) {
                return ((Constructor<?>)).getParameterAnnotations()[];
            }
        }
        return .getAnnotations();
    }
    public <T extends Annotation> T getAnnotation(Class<T> annotationType) {
        for (Annotation a : getAnnotations()) {
            if (a.annotationType() == annotationType) {
                return annotationType.cast(a);
            }
        }
        return null;
    }

    

Returns:
the name
    public String getName() {
        return ;
    }

    

Parameters:
name the name to set
    public void setName(String name) {
        this. = name;
    }

    

Returns:
the classifier
    public Class<? extends AnnotationgetClassifer() {
        return ;
    }

    

Parameters:
classifer the classifier to set
    public void setClassifer(Class<? extends Annotationclassifer) {
        this. = classifer;
    }
    
    @Override
    public String toString() {
        return .toString() + ( == . ? "[" +  + "]" : "");
    }
    @Override
    public int hashCode() {
        final int PRIME = 31;
        int result = 1;
        result = PRIME * result + (( == null) ? 0 : .hashCode());
        result = PRIME * result + ;
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final JavaElementImpl other = (JavaElementImpl)obj;
        if ( == null) {
            if (other.anchor != null) {
                return false;
            }
        } else if (!.equals(other.anchor)) {
            return false;
        }
        if ( != other.index) {
            return false;
        }
        return true;
    }    
New to GrepCode? Check out our FAQ X