public class JavaClass extends java.lang.Object implements HasName, HasAnnotations, HasModifiers
Modifier and Type | Class and Description |
---|---|
static class |
JavaClass.Functions |
static class |
JavaClass.Predicates |
HasName.AndFullName
CanBeAnnotated.Utils
Modifier and Type | Method and Description |
---|---|
java.util.Set<JavaAccess<?>> |
getAccessesFromSelf() |
java.util.Set<JavaAccess<?>> |
getAccessesToSelf() |
java.util.Set<JavaAccess<?>> |
getAllAccessesFromSelf() |
java.util.Set<JavaClass> |
getAllClassesSelfIsAssignableTo() |
java.util.Set<JavaConstructor> |
getAllConstructors() |
java.util.Set<JavaField> |
getAllFields() |
java.util.Set<JavaClass> |
getAllInterfaces() |
java.util.Set<JavaMember> |
getAllMembers() |
java.util.Set<JavaMethod> |
getAllMethods() |
java.util.Set<JavaClass> |
getAllSubClasses() |
java.util.List<JavaClass> |
getAllSuperClasses() |
<A extends java.lang.annotation.Annotation> |
getAnnotationOfType(java.lang.Class<A> type) |
JavaAnnotation |
getAnnotationOfType(java.lang.String typeName) |
java.util.Set<JavaAnnotation> |
getAnnotations() |
java.util.Set<JavaCall<?>> |
getCallsFromSelf()
Returns all calls of this class to methods or constructors.
|
java.util.List<JavaClass> |
getClassHierarchy() |
java.util.Set<JavaCodeUnit> |
getCodeUnits() |
JavaCodeUnit |
getCodeUnitWithParameterTypeNames(java.lang.String name,
java.util.List<java.lang.String> parameters) |
JavaCodeUnit |
getCodeUnitWithParameterTypeNames(java.lang.String name,
java.lang.String... parameters)
Same as
getCodeUnitWithParameterTypes(String, Class[]) , but with parameter signature specified as full class names |
JavaCodeUnit |
getCodeUnitWithParameterTypes(java.lang.String name,
java.lang.Class<?>... parameters) |
JavaCodeUnit |
getCodeUnitWithParameterTypes(java.lang.String name,
java.util.List<java.lang.Class<?>> parameters) |
JavaConstructor |
getConstructor(java.lang.Class<?>... parameters) |
java.util.Set<JavaConstructorCall> |
getConstructorCallsFromSelf() |
java.util.Set<JavaConstructorCall> |
getConstructorCallsToSelf() |
java.util.Set<JavaConstructor> |
getConstructors() |
java.util.Set<Dependency> |
getDirectDependencies()
Deprecated.
Use
getDirectDependenciesFromSelf() instead |
java.util.Set<Dependency> |
getDirectDependenciesFromSelf()
Returns all dependencies originating directly from this class (i.e.
|
java.util.Set<Dependency> |
getDirectDependenciesToSelf()
Like
getDirectDependenciesFromSelf() , but instead returns all dependencies where this class
is target. |
Optional<JavaClass> |
getEnclosingClass() |
JavaField |
getField(java.lang.String name) |
java.util.Set<JavaFieldAccess> |
getFieldAccessesFromSelf() |
java.util.Set<JavaFieldAccess> |
getFieldAccessesToSelf() |
java.util.Set<JavaField> |
getFields() |
java.util.Set<JavaClass> |
getInterfaces() |
java.util.Set<JavaMember> |
getMembers() |
JavaMethod |
getMethod(java.lang.String name,
java.lang.Class<?>... parameters) |
java.util.Set<JavaMethodCall> |
getMethodCallsFromSelf() |
java.util.Set<JavaMethodCall> |
getMethodCallsToSelf() |
java.util.Set<JavaMethod> |
getMethods() |
java.util.Set<JavaModifier> |
getModifiers() |
java.lang.String |
getName() |
java.lang.String |
getPackage() |
java.lang.String |
getSimpleName() |
Optional<Source> |
getSource() |
Optional<JavaStaticInitializer> |
getStaticInitializer() |
java.util.Set<JavaClass> |
getSubClasses() |
Optional<JavaClass> |
getSuperClass() |
boolean |
isAnnotatedWith(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType) |
boolean |
isAnnotatedWith(DescribedPredicate<? super JavaAnnotation> predicate) |
boolean |
isAnnotatedWith(java.lang.String annotationTypeName) |
boolean |
isAnonymous() |
boolean |
isAssignableFrom(java.lang.Class<?> type) |
boolean |
isAssignableFrom(DescribedPredicate<? super JavaClass> predicate) |
boolean |
isAssignableFrom(java.lang.String typeName) |
boolean |
isAssignableTo(java.lang.Class<?> type) |
boolean |
isAssignableTo(DescribedPredicate<? super JavaClass> predicate) |
boolean |
isAssignableTo(java.lang.String typeName) |
boolean |
isEnum() |
boolean |
isEquivalentTo(java.lang.Class<?> clazz) |
boolean |
isInterface() |
static java.util.List<java.lang.String> |
namesOf(java.lang.Class<?>... paramTypes) |
static java.util.List<java.lang.String> |
namesOf(java.util.List<java.lang.Class<?>> paramTypes) |
java.lang.Class<?> |
reflect()
Resolves the respective
Class from the classpath.NOTE: This method will throw an exception, if the respective Class or any of its dependencies
can't be found on the classpath. |
java.lang.String |
toString() |
<A extends java.lang.annotation.Annotation> |
tryGetAnnotationOfType(java.lang.Class<A> type) |
Optional<JavaAnnotation> |
tryGetAnnotationOfType(java.lang.String typeName)
Same as
tryGetAnnotationOfType(Class) , but takes the type name. |
Optional<JavaField> |
tryGetField(java.lang.String name) |
Optional<JavaMethod> |
tryGetMethod(java.lang.String name,
java.lang.Class<?>... parameters) |
public java.lang.String getSimpleName()
public java.lang.String getPackage()
public boolean isInterface()
public boolean isEnum()
public java.util.Set<JavaModifier> getModifiers()
getModifiers
in interface HasModifiers
public boolean isAnnotatedWith(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
isAnnotatedWith
in interface CanBeAnnotated
public boolean isAnnotatedWith(java.lang.String annotationTypeName)
isAnnotatedWith
in interface CanBeAnnotated
public boolean isAnnotatedWith(DescribedPredicate<? super JavaAnnotation> predicate)
isAnnotatedWith
in interface CanBeAnnotated
public <A extends java.lang.annotation.Annotation> A getAnnotationOfType(java.lang.Class<A> type)
getAnnotationOfType
in interface HasAnnotations
type
- A given annotation type to match JavaAnnotations
againstAnnotation
of the given annotation typejava.lang.IllegalArgumentException
- if the class is note annotated with the given typeisAnnotatedWith(Class)
,
tryGetAnnotationOfType(Class)
public JavaAnnotation getAnnotationOfType(java.lang.String typeName)
getAnnotationOfType
in interface HasAnnotations
public java.util.Set<JavaAnnotation> getAnnotations()
getAnnotations
in interface HasAnnotations
public <A extends java.lang.annotation.Annotation> Optional<A> tryGetAnnotationOfType(java.lang.Class<A> type)
tryGetAnnotationOfType
in interface HasAnnotations
type
- A given annotation type to match JavaAnnotations
againstOptional
containing an Annotation
of the given annotation type,
if this class is annotated with the given type, otherwise Optional.absent()isAnnotatedWith(Class)
,
getAnnotationOfType(Class)
public Optional<JavaAnnotation> tryGetAnnotationOfType(java.lang.String typeName)
tryGetAnnotationOfType(Class)
, but takes the type name.tryGetAnnotationOfType
in interface HasAnnotations
public java.util.List<JavaClass> getClassHierarchy()
getAllSuperClasses()
public java.util.List<JavaClass> getAllSuperClasses()
public java.util.Set<JavaClass> getSubClasses()
public java.util.Set<JavaClass> getInterfaces()
public java.util.Set<JavaClass> getAllInterfaces()
public java.util.Set<JavaClass> getAllClassesSelfIsAssignableTo()
public java.util.Set<JavaClass> getAllSubClasses()
public java.util.Set<JavaMember> getMembers()
public java.util.Set<JavaMember> getAllMembers()
public java.util.Set<JavaField> getFields()
public java.util.Set<JavaField> getAllFields()
public JavaField getField(java.lang.String name)
public java.util.Set<JavaCodeUnit> getCodeUnits()
public JavaCodeUnit getCodeUnitWithParameterTypes(java.lang.String name, java.lang.Class<?>... parameters)
name
- The name of the code unit, can be a method name, but also
CONSTRUCTOR_NAME
or STATIC_INITIALIZER_NAME
parameters
- The parameter signature of the method specified as Class
Objectspublic JavaCodeUnit getCodeUnitWithParameterTypeNames(java.lang.String name, java.lang.String... parameters)
getCodeUnitWithParameterTypes(String, Class[])
, but with parameter signature specified as full class namespublic JavaCodeUnit getCodeUnitWithParameterTypes(java.lang.String name, java.util.List<java.lang.Class<?>> parameters)
public JavaCodeUnit getCodeUnitWithParameterTypeNames(java.lang.String name, java.util.List<java.lang.String> parameters)
public JavaMethod getMethod(java.lang.String name, java.lang.Class<?>... parameters)
public Optional<JavaMethod> tryGetMethod(java.lang.String name, java.lang.Class<?>... parameters)
public java.util.Set<JavaMethod> getMethods()
public java.util.Set<JavaMethod> getAllMethods()
public JavaConstructor getConstructor(java.lang.Class<?>... parameters)
public java.util.Set<JavaConstructor> getConstructors()
public java.util.Set<JavaConstructor> getAllConstructors()
public Optional<JavaStaticInitializer> getStaticInitializer()
public java.util.Set<JavaAccess<?>> getAccessesFromSelf()
public java.util.Set<JavaAccess<?>> getAllAccessesFromSelf()
JavaAccess
in the class hierarchy, as opposed to the accesses this class directly performs.public java.util.Set<JavaFieldAccess> getFieldAccessesFromSelf()
public java.util.Set<JavaCall<?>> getCallsFromSelf()
public java.util.Set<JavaMethodCall> getMethodCallsFromSelf()
public java.util.Set<JavaConstructorCall> getConstructorCallsFromSelf()
@Deprecated public java.util.Set<Dependency> getDirectDependencies()
getDirectDependenciesFromSelf()
insteadpublic java.util.Set<Dependency> getDirectDependenciesFromSelf()
public java.util.Set<Dependency> getDirectDependenciesToSelf()
getDirectDependenciesFromSelf()
, but instead returns all dependencies where this class
is target.public java.util.Set<JavaFieldAccess> getFieldAccessesToSelf()
public java.util.Set<JavaMethodCall> getMethodCallsToSelf()
public java.util.Set<JavaConstructorCall> getConstructorCallsToSelf()
public java.util.Set<JavaAccess<?>> getAccessesToSelf()
public boolean isEquivalentTo(java.lang.Class<?> clazz)
clazz
- An arbitrary typeJavaClass
represents the same class as the supplied Class
, otherwise falsepublic boolean isAssignableFrom(java.lang.Class<?> type)
public boolean isAssignableFrom(java.lang.String typeName)
public boolean isAssignableFrom(DescribedPredicate<? super JavaClass> predicate)
public boolean isAssignableTo(java.lang.Class<?> type)
public boolean isAssignableTo(java.lang.String typeName)
public boolean isAssignableTo(DescribedPredicate<? super JavaClass> predicate)
public java.lang.Class<?> reflect()
Class
from the classpath.Class
or any of its dependencies
can't be found on the classpath.Class
equivalent to this JavaClass
public java.lang.String toString()
toString
in class java.lang.Object
public static java.util.List<java.lang.String> namesOf(java.lang.Class<?>... paramTypes)
public static java.util.List<java.lang.String> namesOf(java.util.List<java.lang.Class<?>> paramTypes)
public boolean isAnonymous()