Package com.google.inject.internal
Class Annotations
- java.lang.Object
-
- com.google.inject.internal.Annotations
-
public class Annotations extends Object
Annotation 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 AnnotationcanonicalizeIfNamed(Annotation annotation)If the annotation is an instance ofjavax.inject.Named, canonicalizes to com.google.guice.name.Named.static Class<? extends Annotation>canonicalizeIfNamed(Class<? extends Annotation> annotationType)If the annotation is the classjavax.inject.Named, canonicalizes to com.google.guice.name.Named.static voidcheckForMisplacedScopeAnnotations(Class<?> type, Object source, Errors errors)Adds an error if there is a misplaced annotations ontype.static AnnotationfindBindingAnnotation(Errors errors, Member member, Annotation[] annotations)Returns the binding annotation onmember, or null if there isn't one.static Class<? extends Annotation>findScopeAnnotation(Errors errors, Annotation[] annotations)Returns the scoping annotation, or null if there isn't one.static Class<? extends Annotation>findScopeAnnotation(Errors errors, Class<?> implementation)Returns the scope annotation ontype, or null if none is specified.static <T extends Annotation>
TgenerateAnnotation(Class<T> annotationType)Generates an Annotation for the annotation class.static Key<?>getKey(TypeLiteral<?> type, Member member, Annotation[] annotations, Errors errors)Gets a key for the given type, member and annotations.static booleanisAllDefaultMethods(Class<? extends Annotation> annotationType)static booleanisBindingAnnotation(Class<? extends Annotation> annotationType)Returns true if annotations of the specified type are binding annotations.static booleanisMarker(Class<? extends Annotation> annotationType)Returnstrueif the given annotation type has no attributes.static booleanisRetainedAtRuntime(Class<? extends Annotation> annotationType)Returns true if the given annotation is retained at runtime.static booleanisScopeAnnotation(Class<? extends Annotation> annotationType)static StringmemberValueString(String value)Returnsvalue, quoted if annotation implementations quote their member values.static StringnameOf(Key<?> key)Returns the name the binding should use.
-
-
-
Method Detail
-
isMarker
public static boolean isMarker(Class<? extends Annotation> annotationType)
Returnstrueif the given annotation type has no attributes.
-
isAllDefaultMethods
public static boolean isAllDefaultMethods(Class<? extends Annotation> annotationType)
-
generateAnnotation
public static <T extends Annotation> T generateAnnotation(Class<T> annotationType)
Generates an Annotation for the annotation class. Requires that the annotation is all optionals.
-
isRetainedAtRuntime
public static boolean isRetainedAtRuntime(Class<? extends Annotation> annotationType)
Returns true if the given annotation is retained at runtime.
-
findScopeAnnotation
public static Class<? extends Annotation> findScopeAnnotation(Errors errors, Class<?> implementation)
Returns the scope annotation ontype, or null if none is specified.
-
findScopeAnnotation
public static Class<? extends Annotation> findScopeAnnotation(Errors errors, Annotation[] annotations)
Returns the scoping annotation, or null if there isn't one.
-
memberValueString
public static String memberValueString(String value)
Returnsvalue, quoted if annotation implementations quote their member values. In Java 9, annotations quote their string members.
-
isScopeAnnotation
public static boolean isScopeAnnotation(Class<? extends Annotation> annotationType)
-
checkForMisplacedScopeAnnotations
public static void checkForMisplacedScopeAnnotations(Class<?> type, 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, Member member, Annotation[] annotations, Errors errors) throws ErrorsException
Gets a key for the given type, member and annotations.- Throws:
ErrorsException
-
findBindingAnnotation
public static Annotation findBindingAnnotation(Errors errors, Member member, Annotation[] annotations)
Returns the binding annotation onmember, or null if there isn't one.
-
isBindingAnnotation
public static boolean isBindingAnnotation(Class<? extends Annotation> annotationType)
Returns true if annotations of the specified type are binding annotations.
-
canonicalizeIfNamed
public static Annotation canonicalizeIfNamed(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 Class<? extends Annotation> canonicalizeIfNamed(Class<? extends 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 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.
-
-