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 Annotation
canonicalizeIfNamed(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 void
checkForMisplacedScopeAnnotations(Class<?> type, Object source, Errors errors)
Adds an error if there is a misplaced annotations ontype
.static Annotation
findBindingAnnotation(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 boolean
isAllDefaultMethods(Class<? extends Annotation> annotationType)
static boolean
isBindingAnnotation(Class<? extends Annotation> annotationType)
Returns true if annotations of the specified type are binding annotations.static boolean
isMarker(Class<? extends Annotation> annotationType)
Returnstrue
if the given annotation type has no attributes.static boolean
isRetainedAtRuntime(Class<? extends Annotation> annotationType)
Returns true if the given annotation is retained at runtime.static boolean
isScopeAnnotation(Class<? extends Annotation> annotationType)
static String
memberValueString(String value)
Returnsvalue
, quoted if annotation implementations quote their member values.static String
nameOf(Key<?> key)
Returns the name the binding should use.
-
-
-
Method Detail
-
isMarker
public static boolean isMarker(Class<? extends Annotation> annotationType)
Returnstrue
if 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.
-
-