Package com.sun.codemodel
Class JAnnotationUse
- java.lang.Object
-
- com.sun.codemodel.JAnnotationValue
-
- com.sun.codemodel.JAnnotationUse
-
- All Implemented Interfaces:
JGenerable
public final class JAnnotationUse extends JAnnotationValue
Represents an annotation on a program element. TODO How to add enums to the annotations
-
-
Field Summary
Fields Modifier and Type Field Description private JClass
clazz
TheAnnotation
classprivate java.util.Map<java.lang.String,JAnnotationValue>
memberValues
Map of member values.
-
Constructor Summary
Constructors Constructor Description JAnnotationUse(JClass clazz)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private void
addValue(java.lang.String name, JAnnotationValue annotationValue)
JAnnotationUse
annotate(java.lang.Class<? extends java.lang.annotation.Annotation> clazz)
JAnnotationUse
annotationParam(java.lang.String name, java.lang.Class<? extends java.lang.annotation.Annotation> value)
Adds a member value pair to this annotation For adding class values as paramvoid
generate(JFormatter f)
JClass
getAnnotationClass()
java.util.Map<java.lang.String,JAnnotationValue>
getAnnotationMembers()
private boolean
isOptimizable()
private JCodeModel
owner()
JAnnotationUse
param(java.lang.String name, boolean value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, byte value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, char value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, double value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, float value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, int value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, long value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, short value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, JEnumConstant value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, JExpression value)
Adds a member value pair to this annotation.JAnnotationUse
param(java.lang.String name, JType type)
Adds a member value pair to this annotation based on the type represented by the given JTypeJAnnotationUse
param(java.lang.String name, java.lang.Class<?> value)
Adds a member value pair to this annotation This can be used for e.g to specifyJAnnotationUse
param(java.lang.String name, java.lang.Enum<?> value)
Adds a member value pair to this annotationJAnnotationUse
param(java.lang.String name, java.lang.String value)
Adds a member value pair to this annotationJAnnotationArrayMember
paramArray(java.lang.String name)
Adds a member value pair which is of type array to this annotation
-
-
-
Field Detail
-
clazz
private final JClass clazz
TheAnnotation
class
-
memberValues
private java.util.Map<java.lang.String,JAnnotationValue> memberValues
Map of member values.
-
-
Constructor Detail
-
JAnnotationUse
JAnnotationUse(JClass clazz)
-
-
Method Detail
-
getAnnotationClass
public JClass getAnnotationClass()
-
getAnnotationMembers
public java.util.Map<java.lang.String,JAnnotationValue> getAnnotationMembers()
-
owner
private JCodeModel owner()
-
addValue
private void addValue(java.lang.String name, JAnnotationValue annotationValue)
-
param
public JAnnotationUse param(java.lang.String name, boolean value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The boolean value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, byte value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The byte member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, char value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The char member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, double value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The double member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, float value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The float member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, long value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The long member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, short value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The short member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, int value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The int member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, java.lang.String value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The String member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
annotationParam
public JAnnotationUse annotationParam(java.lang.String name, java.lang.Class<? extends java.lang.annotation.Annotation> value)
Adds a member value pair to this annotation For adding class values as param- Parameters:
name
- The simple name for this annotationvalue
- The annotation class which is member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
- See Also:
param(String, Class)
-
param
public JAnnotationUse param(java.lang.String name, java.lang.Enum<?> value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The enum class which is member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, JEnumConstant value)
Adds a member value pair to this annotation- Parameters:
name
- The simple name for this annotationvalue
- The JEnumConstant which is member value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, java.lang.Class<?> value)
Adds a member value pair to this annotation This can be used for e.g to specify@XmlCollectionItem(type=Integer.class);
For adding a value of Class extends Annotation>
-
param
public JAnnotationUse param(java.lang.String name, JType type)
Adds a member value pair to this annotation based on the type represented by the given JType- Parameters:
name
- The simple name for this annotation paramtype
- the JType representing the actual type- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
param
public JAnnotationUse param(java.lang.String name, JExpression value)
Adds a member value pair to this annotation.- Parameters:
name
- The simple name for this annotationvalue
- The JExpression which provides the contant value for this annotation- Returns:
- The JAnnotationUse. More member value pairs can be added to it using the same or the overloaded methods.
-
paramArray
public JAnnotationArrayMember paramArray(java.lang.String name)
Adds a member value pair which is of type array to this annotation- Parameters:
name
- The simple name for this annotation- Returns:
- The JAnnotationArrayMember. For adding array values
- See Also:
JAnnotationArrayMember
-
annotate
public JAnnotationUse annotate(java.lang.Class<? extends java.lang.annotation.Annotation> clazz)
Deprecated.This can be used to add annotations inside annotations for e.g @XmlCollection(values= @XmlCollectionItem(type=Foo.class))- Parameters:
clazz
- The annotation class to be included- Returns:
- The JAnnotationUse that can be used as a member within this JAnnotationUse
-
generate
public void generate(JFormatter f)
-
isOptimizable
private boolean isOptimizable()
-
-