Class JInterface


  • public final class JInterface
    extends JStructure
    A representation of the Java Source code for a Java Interface. This is a useful utility when creating in memory source code. The code in this package was modelled after the Java Reflection API as much as possible to reduce the learning curve.
    Version:
    $Revision$ $Date$
    Author:
    Martin Skopp, Keith Visco
    • Method Detail

      • addField

        public void addField​(JField jField)
                      throws IllegalArgumentException
        Adds the given JField to this JStructure.

        This method is implemented by subclasses and should only accept the proper fields for the subclass otherwise an IllegalArgumentException will be thrown. For example a JInterface will only accept static fields.

        Specified by:
        addField in class JStructure
        Parameters:
        jField - , the JField to add
        Throws:
        IllegalArgumentException - when the given JField has a name of an existing JField
      • addMember

        public void addMember​(org.codehaus.modello.plugin.java.javasource.JMember jMember)
                       throws IllegalArgumentException
        Adds the given JMember to this JStructure.

        This method is implemented by subclasses and should only accept the proper types for the subclass otherwise an IllegalArgumentException will be thrown.

        Specified by:
        addMember in class JStructure
        Parameters:
        jMember - the JMember to add to this JStructure.
        Throws:
        IllegalArgumentException - when the given JMember has the same name of an existing JField or JMethod respectively.
      • getField

        public JField getField​(String name)
        Returns the field with the given name, or null if no field was found with the given name.
        Specified by:
        getField in class JStructure
        Parameters:
        name - the name of the field to return.
        Returns:
        the field with the given name, or null if no field was found with the given name.
      • getFields

        public JField[] getFields()
        Returns an array of all the JFields of this JStructure
        Specified by:
        getFields in class JStructure
        Returns:
        an array of all the JFields of this JStructure
      • getMethods

        public JMethodSignature[] getMethods()
        Returns an array of all the JMethodSignatures of this JInterface.
        Returns:
        an array of all the JMethodSignatures of this JInterface.
      • getMethod

        public JMethodSignature getMethod​(String name,
                                          int startIndex)
        Returns the JMethodSignature with the given name, and occuring at or after the given starting index.
        Parameters:
        name - the name of the JMethodSignature to return.
        startIndex - the starting index to begin searching from.
        Returns:
        the JMethodSignature, or null if not found.
      • getMethod

        public JMethodSignature getMethod​(int index)
        Returns the JMethodSignature at the given index.
        Parameters:
        index - the index of the JMethodSignature to return.
        Returns:
        the JMethodSignature at the given index.
      • print

        public void print​(JSourceWriter jsw)
        Prints the source code for this JInterface to the given JSourceWriter
        Specified by:
        print in class JStructure
        Parameters:
        jsw - the JSourceWriter to print to. [May not be null]
      • print

        public void print​(JSourceWriter jsw,
                          boolean classOnly)
        Prints the source code for this JInterface to the given JSourceWriter
        Parameters:
        jsw - the JSourceWriter to print to. [May not be null]
        classOnly - whether the header, package and imports should be printed too
      • addSourceCode

        public void addSourceCode​(String sourceCode)