java.lang.Object
org.codehaus.modello.plugin.java.javasource.JMethod

public class JMethod extends Object
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$
Author:
Keith Visco
  • Constructor Details

    • JMethod

      public JMethod(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, String name)
      Deprecated.
      removed in future version of javasource
      Creates a new JMethod with the given name and returnType. For "void" return types, simply pass in null as the returnType.
      Parameters:
      returnType - the return type of the method. May be null.
      name - , the method name. Must not be null.
    • JMethod

      public JMethod(String name, JType returnType, 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 Details

    • 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 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:
      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.
      Returns:
      the modifiers for this JMember.
    • getName

      public String getName()
      Returns the name of this JMember.
      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(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:
    • 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(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 String toString()
      Returns the String representation of this JMethod, which is the method prototype.
      Overrides:
      toString in class 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 String[] getParameterClassNames()
    • getAnnotations

      public JAnnotations getAnnotations()
      Returns:
      the annotations
    • appendAnnotation

      public void appendAnnotation(String annotation)
      Parameters:
      annotation - the annotation to append
    • setAnnotations

      public void setAnnotations(JAnnotations annotations)
      Parameters:
      annotations - the annotations to set