Package org.vesalainen.bcc.model
Class El
- java.lang.Object
-
- org.vesalainen.bcc.model.El
-
public class El extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static javax.lang.model.util.Elementselementsprivate static javax.lang.model.util.ElementsmyElements
-
Constructor Summary
Constructors Constructor Description El()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static voidaddTypeName(java.lang.StringBuilder sb, javax.lang.model.type.TypeMirror type)private static voidaName(java.lang.StringBuilder sb, java.lang.Class<?> c)static <E extends javax.lang.model.element.Element>
EcreateUpdateableElement(E element)static javax.lang.model.element.TypeElementfromDescriptor(java.lang.String fieldDescriptor)static java.util.List<? extends javax.lang.model.element.AnnotationMirror>getAllAnnotationMirrors(javax.lang.model.element.Element e)static java.util.List<? extends javax.lang.model.element.Element>getAllMembers(javax.lang.model.element.TypeElement type)static java.util.List<javax.lang.model.element.ExecutableElement>getAllMethods(javax.lang.model.element.TypeElement typeElement, java.lang.String name, javax.lang.model.type.TypeMirror... parameters)static javax.lang.model.element.NamegetBinaryName(javax.lang.model.element.TypeElement type)static java.lang.StringgetConstantExpression(java.lang.Object value)static javax.lang.model.element.ExecutableElementgetConstructor(java.lang.Class<?> cls, java.lang.Class<?>... parameters)static javax.lang.model.element.ExecutableElementgetConstructor(javax.lang.model.element.TypeElement typeElement, javax.lang.model.type.TypeMirror... parameters)static java.lang.StringgetDocComment(javax.lang.model.element.Element e)static java.util.List<? extends javax.lang.model.element.ExecutableElement>getEffectiveMethods(javax.lang.model.element.TypeElement cls)Return effective methods for a class.static java.util.Map<? extends javax.lang.model.element.ExecutableElement,? extends javax.lang.model.element.AnnotationValue>getElementValuesWithDefaults(javax.lang.model.element.AnnotationMirror a)static javax.lang.model.element.ExecutableElementgetExecutableElement(java.lang.String methodString)Returns ExecutableElement from text form.static java.lang.StringgetExecutableString(java.lang.reflect.Method method)Returns method in text form.static java.lang.StringgetExecutableString(javax.lang.model.element.ExecutableElement method)Returns method in text form.static javax.lang.model.element.VariableElementgetField(java.lang.Class<?> cls, java.lang.String name)static javax.lang.model.element.VariableElementgetField(javax.lang.model.element.TypeElement typeElement, java.lang.String name)static java.lang.StringgetInternalForm(javax.lang.model.element.TypeElement type)static javax.lang.model.element.ExecutableElementgetMethod(java.lang.Class<?> cls, java.lang.String name, java.lang.Class<?>... parameters)static javax.lang.model.element.ExecutableElementgetMethod(javax.lang.model.element.TypeElement typeElement, java.lang.String name, javax.lang.model.type.TypeMirror... parameters)Returns the most specific named method in typeElement, or null if such method was not foundstatic javax.lang.model.element.NamegetName(java.lang.CharSequence cs)static javax.lang.model.element.PackageElementgetPackageElement(java.lang.CharSequence name)static javax.lang.model.element.PackageElementgetPackageOf(javax.lang.model.element.Element type)static javax.lang.model.type.TypeMirror[]getParams(java.lang.Class<?>... parameters)static javax.lang.model.element.TypeElementgetTypeElement(java.lang.CharSequence name)static booleanhides(javax.lang.model.element.Element hider, javax.lang.model.element.Element hidden)static booleanisDeprecated(javax.lang.model.element.Element e)static booleanisInterface(javax.lang.model.element.ElementKind kind)private static booleanoverrides(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)static booleanoverrides(javax.lang.model.element.ExecutableElement overrider, javax.lang.model.element.ExecutableElement overridden, javax.lang.model.element.TypeElement type)static voidprintElements(java.io.Writer w, javax.lang.model.element.Element... elements)static voidsetElements(javax.lang.model.util.Elements elements)
-
-
-
Method Detail
-
getExecutableString
public static java.lang.String getExecutableString(java.lang.reflect.Method method)
Returns method in text form. Format is <canonical name of method class> ' ' <method name> '(' arguments ')' Arguments is a comma separated list of argument type names. Argument type name is canonical name of argument class. Arrays however are printed with leading '['. Example T0.class.getDeclaredMethod("m1", String.class, int.class, long[].class) produces "org.vesalainen.bcc.T0 m1(java.lang.String,int,[long)"- Parameters:
method-- Returns:
-
aName
private static void aName(java.lang.StringBuilder sb, java.lang.Class<?> c)
-
getExecutableElement
public static javax.lang.model.element.ExecutableElement getExecutableElement(java.lang.String methodString)
Returns ExecutableElement from text form. Format is <canonical name of method class> ' ' <method name> '(' arguments ')' Arguments is a comma separated list of argument type names. Argument type name is canonical name of argument class. Arrays however are printed with leading '['. Example T0.class.getDeclaredMethod("m1", String.class, int.class, long[].class) produces "org.vesalainen.bcc.T0 m1(java.lang.String,int,[long)"- Parameters:
methodString-- Returns:
-
getExecutableString
public static java.lang.String getExecutableString(javax.lang.model.element.ExecutableElement method)
Returns method in text form. Format is <canonical name of method class> ' ' <method name> '(' arguments ')' Arguments is a comma separated list of argument type names. Argument type name is canonical name of argument class. Arrays however are printed with leading '['. Example T0.class.getDeclaredMethod("m1", String.class, int.class, long[].class) produces "org.vesalainen.bcc.T0 m1(java.lang.String,int,[long)"- Parameters:
method-- Returns:
-
addTypeName
private static void addTypeName(java.lang.StringBuilder sb, javax.lang.model.type.TypeMirror type)
-
createUpdateableElement
public static <E extends javax.lang.model.element.Element> E createUpdateableElement(E element)
-
getField
public static javax.lang.model.element.VariableElement getField(java.lang.Class<?> cls, java.lang.String name)
-
getField
public static javax.lang.model.element.VariableElement getField(javax.lang.model.element.TypeElement typeElement, java.lang.String name)
-
getMethod
public static javax.lang.model.element.ExecutableElement getMethod(java.lang.Class<?> cls, java.lang.String name, java.lang.Class<?>... parameters)
-
getConstructor
public static javax.lang.model.element.ExecutableElement getConstructor(java.lang.Class<?> cls, java.lang.Class<?>... parameters)
-
getParams
public static javax.lang.model.type.TypeMirror[] getParams(java.lang.Class<?>... parameters)
-
getMethod
public static javax.lang.model.element.ExecutableElement getMethod(javax.lang.model.element.TypeElement typeElement, java.lang.String name, javax.lang.model.type.TypeMirror... parameters)Returns the most specific named method in typeElement, or null if such method was not found- Parameters:
typeElement- Classname- Method nameparameters- Method parameters- Returns:
-
getAllMethods
public static java.util.List<javax.lang.model.element.ExecutableElement> getAllMethods(javax.lang.model.element.TypeElement typeElement, java.lang.String name, javax.lang.model.type.TypeMirror... parameters)
-
getConstructor
public static javax.lang.model.element.ExecutableElement getConstructor(javax.lang.model.element.TypeElement typeElement, javax.lang.model.type.TypeMirror... parameters)
-
fromDescriptor
public static javax.lang.model.element.TypeElement fromDescriptor(java.lang.String fieldDescriptor)
-
setElements
public static void setElements(javax.lang.model.util.Elements elements)
-
getPackageElement
public static javax.lang.model.element.PackageElement getPackageElement(java.lang.CharSequence name)
-
getTypeElement
public static javax.lang.model.element.TypeElement getTypeElement(java.lang.CharSequence name)
-
getElementValuesWithDefaults
public static java.util.Map<? extends javax.lang.model.element.ExecutableElement,? extends javax.lang.model.element.AnnotationValue> getElementValuesWithDefaults(javax.lang.model.element.AnnotationMirror a)
-
getDocComment
public static java.lang.String getDocComment(javax.lang.model.element.Element e)
-
isDeprecated
public static boolean isDeprecated(javax.lang.model.element.Element e)
-
getBinaryName
public static javax.lang.model.element.Name getBinaryName(javax.lang.model.element.TypeElement type)
-
getPackageOf
public static javax.lang.model.element.PackageElement getPackageOf(javax.lang.model.element.Element type)
-
getAllMembers
public static java.util.List<? extends javax.lang.model.element.Element> getAllMembers(javax.lang.model.element.TypeElement type)
-
getAllAnnotationMirrors
public static java.util.List<? extends javax.lang.model.element.AnnotationMirror> getAllAnnotationMirrors(javax.lang.model.element.Element e)
-
hides
public static boolean hides(javax.lang.model.element.Element hider, javax.lang.model.element.Element hidden)
-
overrides
public static boolean overrides(javax.lang.model.element.ExecutableElement overrider, javax.lang.model.element.ExecutableElement overridden, javax.lang.model.element.TypeElement type)
-
getConstantExpression
public static java.lang.String getConstantExpression(java.lang.Object value)
-
printElements
public static void printElements(java.io.Writer w, javax.lang.model.element.Element... elements)
-
getName
public static javax.lang.model.element.Name getName(java.lang.CharSequence cs)
-
getInternalForm
public static java.lang.String getInternalForm(javax.lang.model.element.TypeElement type)
-
getEffectiveMethods
public static java.util.List<? extends javax.lang.model.element.ExecutableElement> getEffectiveMethods(javax.lang.model.element.TypeElement cls)
Return effective methods for a class. All methods accessible at class are returned. That includes superclass methods which are not override.- Parameters:
cls-- Returns:
-
overrides
private static boolean overrides(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
-
isInterface
public static boolean isInterface(javax.lang.model.element.ElementKind kind)
-
-