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

        public java.lang.String getName()
        Returns the name of this JMember.
        Specified by:
        getName in interface 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​(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 class java.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()
      • 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