Class JMethod
- java.lang.Object
-
- org.codehaus.modello.plugin.java.javasource.JMethod
-
- All Implemented Interfaces:
JMember
public class JMethod extends java.lang.Object implements JMember
A class which holds information about the methods of a JClass. Modelled closely after the Java Reflection API. This class is part of package which is used to create source code.- Version:
- $Revision$ $Date$
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<JClass>
_classes
The set of classes that contain this JMethod.private JMethodSignature
_signature
The signature for this method.private JAnnotations
annotations
The annotation(s) for this method.private JDocComment
jdc
The JavaDoc comment for this JMethod.private JSourceCode
source
The source code for this method
-
Constructor Summary
Constructors Constructor Description JMethod(java.lang.String name)
Creates a new JMethod with the given name and "void" return type.JMethod(java.lang.String name, JType returnType, java.lang.String returnDoc)
Creates a new JMethod with the given name and returnType.JMethod(JType returnType, java.lang.String name)
Deprecated.removed in future version of javasource
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addDeclaringClass(JClass jClass)
Adds the given JClass to the set of classes that contain this method.void
addException(JClass exp)
Adds the given Exception to this Method's throws clause.void
addParameter(JParameter parameter)
Adds the given parameter to this JMethod's list of parameters.void
appendAnnotation(java.lang.String annotation)
JAnnotations
getAnnotations()
JClass[]
getExceptions()
Returns the exceptions that this JMember throws.JDocComment
getJDocComment()
Returns the JDocComment describing this member.JModifiers
getModifiers()
Returns the modifiers for this JMember.java.lang.String
getName()
Returns the name of this JMember.JParameter
getParameter(int index)
Returns the JParameter at the given index.protected java.lang.String[]
getParameterClassNames()
JParameter[]
getParameters()
Returns the set of JParameters for this JMethod.JType
getReturnType()
Returns the JType that represents the return type of the method.JMethodSignature
getSignature()
Returns the JMethodSignature for this JMethod.JSourceCode
getSourceCode()
Returns the JSourceCode for the method body.void
print(JSourceWriter jsw)
Prints this JMethod to the given JSourceWriter.protected void
removeDeclaringClass(JClass jClass)
Removes the given JClass from the set of classes that contain this method.void
setAnnotations(JAnnotations annotations)
void
setComment(java.lang.String comment)
Sets the comment describing this member.void
setModifiers(JModifiers modifiers)
Sets the JModifiers for this JMethod.void
setSourceCode(java.lang.String source)
Sets the given string as the source code (method body) for this JMethod.void
setSourceCode(JSourceCode source)
Sets the given JSourceCode as the source code (method body) for this JMethod.java.lang.String
toString()
Returns the String representation of this JMethod, which is the method prototype.
-
-
-
Field Detail
-
_classes
private java.util.List<JClass> _classes
The set of classes that contain this JMethod.
-
jdc
private JDocComment jdc
The JavaDoc comment for this JMethod. This will overwrite the JavaDoc for the JMethodSignature.
-
source
private JSourceCode source
The source code for this method
-
_signature
private JMethodSignature _signature
The signature for this method.
-
annotations
private JAnnotations annotations
The annotation(s) for this method.
-
-
Constructor Detail
-
JMethod
public JMethod(java.lang.String name)
Creates a new JMethod with the given name and "void" return type.- Parameters:
name
- , the method name. Must not be null.
-
JMethod
public JMethod(JType returnType, java.lang.String name)
Deprecated.removed in future version of javasourceCreates a new JMethod with the given name and returnType. For "void" return types, simply pass in null as the returnType.- Parameters:
name
- , the method name. Must not be null.returnType
- the return type of the method. May be null.
-
JMethod
public JMethod(java.lang.String name, JType returnType, java.lang.String returnDoc)
Creates a new JMethod with the given name and returnType. For "void" return types, simply pass in null as the returnType.- Parameters:
name
- , the method name. Must not be null.returnType
- the return type of the method. May be null.returnDoc
- Javadoc comment for the @return annotation. If null, a default (and mostly useless) javadoc comment will be generated.
-
-
Method Detail
-
addException
public void addException(JClass exp)
Adds the given Exception to this Method's throws clause.- Parameters:
exp
- the JClass representing the Exception
-
addParameter
public void addParameter(JParameter parameter) throws java.lang.IllegalArgumentException
Adds the given parameter to this JMethod's list of parameters.- Parameters:
parameter
- the parameter to add to the this Methods list of parameters.- Throws:
java.lang.IllegalArgumentException
- when a parameter already exists for this Method with the same name as the new parameter
-
getJDocComment
public JDocComment getJDocComment()
Returns the JDocComment describing this member.- Returns:
- the JDocComment describing this member.
-
getExceptions
public JClass[] getExceptions()
Returns the exceptions that this JMember throws.- Returns:
- the exceptions that this JMember throws.
-
getModifiers
public JModifiers getModifiers()
Returns the modifiers for this JMember.- Specified by:
getModifiers
in interfaceJMember
- Returns:
- the modifiers for this JMember.
-
getName
public java.lang.String getName()
Returns the name of this JMember.
-
getParameter
public JParameter getParameter(int index)
Returns the JParameter at the given index.- Parameters:
index
- the index of the JParameter to return.- Returns:
- the JParameter at the given index.
-
getParameters
public JParameter[] getParameters()
Returns the set of JParameters for this JMethod.
Note: the array is a copy, the params in the array are the actual references.- Returns:
- the set of JParameters for this JMethod
-
getReturnType
public JType getReturnType()
Returns the JType that represents the return type of the method.- Returns:
- the JType that represents the return type of the method.
-
getSignature
public JMethodSignature getSignature()
Returns the JMethodSignature for this JMethod.- Returns:
- the JMethodSignature for this JMethod.
-
getSourceCode
public JSourceCode getSourceCode()
Returns the JSourceCode for the method body.- Returns:
- the JSourceCode for the method body.
-
setComment
public void setComment(java.lang.String comment)
Sets the comment describing this member. The comment will be printed when this member is printed with the Class Printer.- Parameters:
comment
- the comment for this member- See Also:
getJDocComment()
-
setModifiers
public void setModifiers(JModifiers modifiers)
Sets the JModifiers for this JMethod. This JMethod will use only a copy of the JModifiers. Note: The JModifiers will be set in the containing JMethodSignature. If the JMethodSignature is used by other methods, keep in mind that it will be changed.- Parameters:
modifiers
- the JModifiers to set.
-
setSourceCode
public void setSourceCode(java.lang.String source)
Sets the given string as the source code (method body) for this JMethod.- Parameters:
source
- the String that represents the method body.
-
setSourceCode
public void setSourceCode(JSourceCode source)
Sets the given JSourceCode as the source code (method body) for this JMethod.- Parameters:
source
- the JSourceCode that represents the method body.
-
print
public void print(JSourceWriter jsw)
Prints this JMethod to the given JSourceWriter.- Parameters:
jsw
- the JSourceWriter to print to.
-
toString
public java.lang.String toString()
Returns the String representation of this JMethod, which is the method prototype.- Overrides:
toString
in classjava.lang.Object
- Returns:
- the String representation of this JMethod, which is simply the method prototype
-
addDeclaringClass
protected void addDeclaringClass(JClass jClass)
Adds the given JClass to the set of classes that contain this method.- Parameters:
jClass
- the JClass to add as one of the JClasses that contain this method.
-
removeDeclaringClass
protected void removeDeclaringClass(JClass jClass)
Removes the given JClass from the set of classes that contain this method.- Parameters:
jClass
- the JClass to add as one of the JClasses that contain this method.
-
getParameterClassNames
protected java.lang.String[] getParameterClassNames()
-
getAnnotations
public JAnnotations getAnnotations()
- Specified by:
getAnnotations
in interfaceJMember
- Returns:
- the annotations
-
appendAnnotation
public void appendAnnotation(java.lang.String annotation)
- Parameters:
annotation
- the annotation to append
-
setAnnotations
public void setAnnotations(JAnnotations annotations)
- Parameters:
annotations
- the annotations to set
-
-