Package com.google.inject.internal
Class Annotations
- java.lang.Object
-
- com.google.inject.internal.Annotations
-
public class Annotations extends java.lang.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 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.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 void
checkForMisplacedScopeAnnotations(java.lang.Class<?> type, java.lang.Object source, Errors errors)
Adds an error if there is a misplaced annotations ontype
.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.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 boolean
isAllDefaultMethods(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
static boolean
isBindingAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Returns true if annotations of the specified type are binding annotations.static boolean
isMarker(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Returnstrue
if the given annotation type has no attributes.static boolean
isRetainedAtRuntime(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Returns true if the given annotation is retained at runtime.static boolean
isScopeAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
static java.lang.String
memberValueString(java.lang.String value)
Returnsvalue
, quoted if annotation implementations quote their member values.static java.lang.String
nameOf(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)
Returnstrue
if 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.
-
-