Package com.google.inject.internal
Class Annotations
- java.lang.Object
-
- com.google.inject.internal.Annotations
-
public class Annotations extends java.lang.ObjectAnnotation utilities.- Author:
- crazybob@google.com (Bob Lee)
-
-
Constructor Summary
Constructors Constructor Description Annotations()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.annotation.AnnotationcanonicalizeIfNamed(java.lang.annotation.Annotation annotation)If the annotation is an instance ofjavax.inject.Named, canonicalizes to com.google.guice.name.Named.static java.lang.Class<? extends java.lang.annotation.Annotation>canonicalizeIfNamed(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)If the annotation is the classjavax.inject.Named, canonicalizes to com.google.guice.name.Named.static voidcheckForMisplacedScopeAnnotations(java.lang.Class<?> type, java.lang.Object source, Errors errors)Adds an error if there is a misplaced annotations ontype.static java.lang.annotation.AnnotationfindBindingAnnotation(Errors errors, java.lang.reflect.Member member, java.lang.annotation.Annotation[] annotations)Returns the binding annotation onmember, or null if there isn't one.static java.lang.Class<? extends java.lang.annotation.Annotation>findScopeAnnotation(Errors errors, java.lang.annotation.Annotation[] annotations)Returns the scoping annotation, or null if there isn't one.static java.lang.Class<? extends java.lang.annotation.Annotation>findScopeAnnotation(Errors errors, java.lang.Class<?> implementation)Returns the scope annotation ontype, or null if none is specified.static <T extends java.lang.annotation.Annotation>
TgenerateAnnotation(java.lang.Class<T> annotationType)Generates an Annotation for the annotation class.static Key<?>getKey(TypeLiteral<?> type, java.lang.reflect.Member member, java.lang.annotation.Annotation[] annotations, Errors errors)Gets a key for the given type, member and annotations.static booleanisAllDefaultMethods(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)static booleanisBindingAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)Returns true if annotations of the specified type are binding annotations.static booleanisMarker(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)Returnstrueif the given annotation type has no attributes.static booleanisRetainedAtRuntime(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)Returns true if the given annotation is retained at runtime.static booleanisScopeAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)static java.lang.StringmemberValueString(java.lang.String value)Returnsvalue, quoted if annotation implementations quote their member values.static java.lang.StringnameOf(Key<?> key)Returns the name the binding should use.
-
-
-
Method Detail
-
isMarker
public static boolean isMarker(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Returnstrueif the given annotation type has no attributes.
-
isAllDefaultMethods
public static boolean isAllDefaultMethods(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
-
generateAnnotation
public static <T extends java.lang.annotation.Annotation> T generateAnnotation(java.lang.Class<T> annotationType)
Generates an Annotation for the annotation class. Requires that the annotation is all optionals.
-
isRetainedAtRuntime
public static boolean isRetainedAtRuntime(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Returns true if the given annotation is retained at runtime.
-
findScopeAnnotation
public static java.lang.Class<? extends java.lang.annotation.Annotation> findScopeAnnotation(Errors errors, java.lang.Class<?> implementation)
Returns the scope annotation ontype, or null if none is specified.
-
findScopeAnnotation
public static java.lang.Class<? extends java.lang.annotation.Annotation> findScopeAnnotation(Errors errors, java.lang.annotation.Annotation[] annotations)
Returns the scoping annotation, or null if there isn't one.
-
memberValueString
public static java.lang.String memberValueString(java.lang.String value)
Returnsvalue, quoted if annotation implementations quote their member values. In Java 9, annotations quote their string members.
-
isScopeAnnotation
public static boolean isScopeAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
-
checkForMisplacedScopeAnnotations
public static void checkForMisplacedScopeAnnotations(java.lang.Class<?> type, java.lang.Object source, Errors errors)Adds an error if there is a misplaced annotations ontype. Scoping annotations are not allowed on abstract classes or interfaces.
-
getKey
public static Key<?> getKey(TypeLiteral<?> type, java.lang.reflect.Member member, java.lang.annotation.Annotation[] annotations, Errors errors) throws ErrorsException
Gets a key for the given type, member and annotations.- Throws:
ErrorsException
-
findBindingAnnotation
public static java.lang.annotation.Annotation findBindingAnnotation(Errors errors, java.lang.reflect.Member member, java.lang.annotation.Annotation[] annotations)
Returns the binding annotation onmember, or null if there isn't one.
-
isBindingAnnotation
public static boolean isBindingAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Returns true if annotations of the specified type are binding annotations.
-
canonicalizeIfNamed
public static java.lang.annotation.Annotation canonicalizeIfNamed(java.lang.annotation.Annotation annotation)
If the annotation is an instance ofjavax.inject.Named, canonicalizes to com.google.guice.name.Named. Returns the given annotation otherwise.
-
canonicalizeIfNamed
public static java.lang.Class<? extends java.lang.annotation.Annotation> canonicalizeIfNamed(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
If the annotation is the classjavax.inject.Named, canonicalizes to com.google.guice.name.Named. Returns the given annotation class otherwise.
-
nameOf
public static java.lang.String nameOf(Key<?> key)
Returns the name the binding should use. This is based on the annotation. If the annotation has an instance and is not a marker annotation, we ask the annotation for its toString. If it was a marker annotation or just an annotation type, we use the annotation's name. Otherwise, the name is the empty string.
-
-