- java.lang.Object
-
- com.sun.codemodel.JMethod
-
- All Implemented Interfaces:
JAnnotatable
,JDeclaration
,JDocCommentable
,JGenerifiable
public class JMethod extends Object implements JDeclaration, JAnnotatable, JDocCommentable
Java method.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description JMethod
_throws(JClass exception)
Add an exception to the list of exceptions that this method may throw.JMethod
_throws(Class<? extends Throwable> exception)
JAnnotationUse
annotate(JClass clazz)
Adds an annotation to this variable.JAnnotationUse
annotate(Class<? extends Annotation> clazz)
Adds an annotation to this variable.<W extends JAnnotationWriter<? extends Annotation>>
Wannotate2(Class<W> clazz)
Adds an annotation to this program element and returns a type-safe writer to fill in the values of such annotations.Collection<JAnnotationUse>
annotations()
Read-only live view of all annotations on thisJAnnotatable
JBlock
body()
Get the block that makes up body of this methodvoid
declare(JFormatter f)
void
declareDefaultValue(JExpression value)
Specify the default value for this annotation memberJTypeVar
generify(String name)
Adds a new type variable to this declaration.JTypeVar
generify(String name, JClass bound)
Adds a new type variable to this declaration with a bound.JTypeVar
generify(String name, Class<?> bound)
Adds a new type variable to this declaration with a bound.JMods
getMods()
Deprecated.usemods()
boolean
hasSignature(JType[] argTypes)
Returns true if the method has the specified signature.boolean
hasVarArgs()
Check if there are any varargs declared for this method signature.JDocComment
javadoc()
Creates, if necessary, and returns the class javadoc for this JDefinedClassJVar[]
listParams()
Returns all the parameters in an array.JType[]
listParamTypes()
Returns all the parameter types in an array.JVar
listVarParam()
Returns the variable parameterJType
listVarParamType()
Returns the varags parameter type.JMods
mods()
String
name()
void
name(String n)
Changes the name of the method.protected JCodeModel
owner()
JVar
param(int mods, JType type, String name)
Add the specified variable to the list of parameters for this method signature.JVar
param(int mods, Class<?> type, String name)
JVar
param(JType type, String name)
JVar
param(Class<?> type, String name)
List<JVar>
params()
Returns the list of variable of this method.boolean
removeAnnotation(JAnnotationUse annotation)
Removes annotation from this program element.JType
type()
Returns the return type.void
type(JType t)
Overrides the return type.JTypeVar[]
typeParams()
Iterates all the type parameters of this class/interface.JVar
varParam(JType type, String name)
Add the specified variable argument to the list of parameters for this method signature.JVar
varParam(Class<?> type, String name)
-
-
-
Method Detail
-
_throws
public JMethod _throws(JClass exception)
Add an exception to the list of exceptions that this method may throw.- Parameters:
exception
- Name of an exception that this method may throw
-
params
public List<JVar> params()
Returns the list of variable of this method.- Returns:
- List of parameters of this method. This list is not modifiable.
-
param
public JVar param(int mods, JType type, String name)
Add the specified variable to the list of parameters for this method signature.- Parameters:
type
- JType of the parameter being addedname
- Name of the parameter being added- Returns:
- New parameter variable
-
varParam
public JVar varParam(Class<?> type, String name)
- See Also:
varParam(JType, String)
-
varParam
public JVar varParam(JType type, String name)
Add the specified variable argument to the list of parameters for this method signature.- Parameters:
type
- Type of the parameter being added.name
- Name of the parameter being added- Returns:
- the variable parameter
- Throws:
IllegalStateException
- If this method is called twice. varargs in J2SE 1.5 can appear only once in the method signature.
-
annotate
public JAnnotationUse annotate(JClass clazz)
Adds an annotation to this variable.- Specified by:
annotate
in interfaceJAnnotatable
- Parameters:
clazz
- The annotation class to annotate the field with
-
annotate
public JAnnotationUse annotate(Class<? extends Annotation> clazz)
Adds an annotation to this variable.- Specified by:
annotate
in interfaceJAnnotatable
- Parameters:
clazz
- The annotation class to annotate the field with
-
annotate2
public <W extends JAnnotationWriter<? extends Annotation>> W annotate2(Class<W> clazz)
Description copied from interface:JAnnotatable
Adds an annotation to this program element and returns a type-safe writer to fill in the values of such annotations.- Specified by:
annotate2
in interfaceJAnnotatable
- Returns:
-
removeAnnotation
public boolean removeAnnotation(JAnnotationUse annotation)
Description copied from interface:JAnnotatable
Removes annotation from this program element.- Specified by:
removeAnnotation
in interfaceJAnnotatable
- Parameters:
annotation
- The annotation to be removed from the program element
-
annotations
public Collection<JAnnotationUse> annotations()
Description copied from interface:JAnnotatable
Read-only live view of all annotations on thisJAnnotatable
- Specified by:
annotations
in interfaceJAnnotatable
- Returns:
- Can be empty but never null.
-
hasVarArgs
public boolean hasVarArgs()
Check if there are any varargs declared for this method signature.
-
name
public String name()
-
name
public void name(String n)
Changes the name of the method.
-
type
public JType type()
Returns the return type.
-
type
public void type(JType t)
Overrides the return type.
-
listParamTypes
public JType[] listParamTypes()
Returns all the parameter types in an array.- Returns:
- If there's no parameter, an empty array will be returned.
-
listVarParamType
public JType listVarParamType()
Returns the varags parameter type.- Returns:
- If there's no vararg parameter type, null will be returned.
-
listParams
public JVar[] listParams()
Returns all the parameters in an array.- Returns:
- If there's no parameter, an empty array will be returned.
-
listVarParam
public JVar listVarParam()
Returns the variable parameter- Returns:
- If there's no parameter, null will be returned.
-
hasSignature
public boolean hasSignature(JType[] argTypes)
Returns true if the method has the specified signature.
-
body
public JBlock body()
Get the block that makes up body of this method- Returns:
- Body of method
-
declareDefaultValue
public void declareDefaultValue(JExpression value)
Specify the default value for this annotation member- Parameters:
value
- Default value for the annotation member
-
javadoc
public JDocComment javadoc()
Creates, if necessary, and returns the class javadoc for this JDefinedClass- Specified by:
javadoc
in interfaceJDocCommentable
- Returns:
- JDocComment containing javadocs for this class
-
declare
public void declare(JFormatter f)
- Specified by:
declare
in interfaceJDeclaration
-
mods
public JMods mods()
- Returns:
- the current modifiers of this method. Always return non-null valid object.
-
getMods
@Deprecated public JMods getMods()
Deprecated.usemods()
-
owner
protected JCodeModel owner()
-
generify
public JTypeVar generify(String name)
Description copied from interface:JGenerifiable
Adds a new type variable to this declaration.- Specified by:
generify
in interfaceJGenerifiable
-
generify
public JTypeVar generify(String name, Class<?> bound)
Description copied from interface:JGenerifiable
Adds a new type variable to this declaration with a bound.- Specified by:
generify
in interfaceJGenerifiable
-
generify
public JTypeVar generify(String name, JClass bound)
Description copied from interface:JGenerifiable
Adds a new type variable to this declaration with a bound.- Specified by:
generify
in interfaceJGenerifiable
-
typeParams
public JTypeVar[] typeParams()
Description copied from interface:JGenerifiable
Iterates all the type parameters of this class/interface.- Specified by:
typeParams
in interfaceJGenerifiable
-
-