Package oracle.dbtools.plugin.api.types
Class TypeReflection<T>
- java.lang.Object
-
- oracle.dbtools.plugin.api.types.TypeReflection<T>
-
- Type Parameters:
T- The Type being reflected
- All Implemented Interfaces:
java.lang.Comparable<TypeReflection<?>>
public class TypeReflection<T> extends java.lang.Object implements java.lang.Comparable<TypeReflection<?>>
Provides higher level abstraction about the type metadata of aClass, providing information about it's dependencies and what services it provides- Since:
- 19.3.0
- Author:
- cdivilly
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(TypeReflection<?> o)java.util.List<oracle.dbtools.plugin.api.types.TypeConstantField<?>>constantFields()Enumerate the static constant fields in this type if anyTypeDependencies<T>dependencies()Provides the dependencies of this typebooleanequals(java.lang.Object obj)<A extends java.lang.annotation.Annotation>
AgetAnnotation(java.lang.Class<A> annotationClass)Returns this element's annotation for the specified type if such an annotation is present, else null.inthashCode()TypeInstantiator<T>instantiator()Retrieve theTypeInstantiatorfor this typebooleanisConcrete()Indicates if this type can be instantiatedjava.util.Set<TypeQualifier<?>>provides()Identifies the services that this type providesjava.lang.annotation.Annotationscope()java.lang.StringtoString()java.lang.Class<T>type()Provides the underlying typeTypeProvider<T>using(InstanceLocator locator)Generates aTypeProviderfor this type, using the specifiedInstanceLocatorto resolve dependencies of the type
-
-
-
Method Detail
-
compareTo
public int compareTo(TypeReflection<?> o)
- Specified by:
compareToin interfacejava.lang.Comparable<T>
-
constantFields
public java.util.List<oracle.dbtools.plugin.api.types.TypeConstantField<?>> constantFields()
Enumerate the static constant fields in this type if any- Returns:
ListofTypeConstantFieldinstances
-
dependencies
public TypeDependencies<T> dependencies()
Provides the dependencies of this type- Returns:
TypeDependenciesinstance
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
getAnnotation
public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A> annotationClass)
Returns this element's annotation for the specified type if such an annotation is present, else null.- Type Parameters:
A- the type of the annotation to query for and return if present- Parameters:
annotationClass- the Class object corresponding to the annotation type- Returns:
- this element's annotation for the specified annotation type if present on this element, else null
- Throws:
java.lang.NullPointerException- if the given annotation class is null
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
instantiator
public TypeInstantiator<T> instantiator()
Retrieve theTypeInstantiatorfor this type- Returns:
TypeInstantiatorinstance
-
isConcrete
public boolean isConcrete()
Indicates if this type can be instantiated- Returns:
- true if the type can be instantiated, false otherwise
-
provides
public java.util.Set<TypeQualifier<?>> provides()
Identifies the services that this type provides- Returns:
SetofTypeQualifierinstances identifying the services this type provides
-
scope
public java.lang.annotation.Annotation scope()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
type
public java.lang.Class<T> type()
Provides the underlying type- Returns:
Classinstance
-
using
public TypeProvider<T> using(InstanceLocator locator)
Generates aTypeProviderfor this type, using the specifiedInstanceLocatorto resolve dependencies of the type- Parameters:
locator- Provides the dependencies of this type- Returns:
TypeProviderinstance
-
-