org.codehaus.modello.generator.java.javasource

Class JInterface


public final class JInterface
extends org.codehaus.modello.generator.java.javasource.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: 510 $ $Date: 2005-12-09 05:03:20 +0000 (Fri, 09 Dec 2005) $
Authors:
Martin Skopp
Keith Visco

Field Summary

Fields inherited from class org.codehaus.modello.generator.java.javasource.JType

Boolean, Byte, Char, Double, Float, Int, Long, Short

Constructor Summary

JInterface(String name)
Creates a new JInterface with the given name.

Method Summary

void
addField(JField jField)
Adds the given JField to this JStructure.
void
addMember(org.codehaus.modello.generator.java.javasource.JMember jMember)
Adds the given JMember to this JStructure.
void
addMethod(JMethodSignature jMethodSig)
Adds the given JMethodSignature to this JClass
JField
getField(String name)
Returns the field with the given name, or null if no field was found with the given name.
JField[]
getFields()
Returns an array of all the JFields of this JStructure
JMethodSignature
getMethod(String name, int startIndex)
Returns the JMethodSignature with the given name, and occuring at or after the given starting index.
JMethodSignature
getMethod(int index)
Returns the JMethodSignature at the given index.
JMethodSignature[]
getMethods()
Returns an array of all the JMethodSignatures of this JInterface.
void
print(JSourceWriter jsw)
Prints the source code for this JInterface to the given JSourceWriter
void
print(JSourceWriter jsw, boolean classOnly)
Prints the source code for this JInterface to the given JSourceWriter

Methods inherited from class org.codehaus.modello.generator.java.javasource.JStructure

addField, addImport, addInterface, addInterface, addMember, getField, getFields, getFilename, getHeader, getImports, getInterfaceCount, getInterfaces, getJDocComment, getModifiers, getName, getPackageFromClassName, getPackageName, hasImport, isValidClassName, print, print, print, printHeader, printImportDeclarations, printPackageDeclaration, printlnWithPrefix, removeImport, setHeader, setPackageName

Methods inherited from class org.codehaus.modello.generator.java.javasource.JType

changePackage, createArray, getComponentType, getLocalName, getName, isArray, isPrimitive, toString

Constructor Details

JInterface

public JInterface(String name)
            throws IllegalArgumentException
Creates a new JInterface with the given name.
Parameters:
name - the name of the JInterface.

Method Details

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.

Overrides:
addField in interface org.codehaus.modello.generator.java.javasource.JStructure
Parameters:

addMember

public void addMember(org.codehaus.modello.generator.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.

Overrides:
addMember in interface org.codehaus.modello.generator.java.javasource.JStructure
Parameters:
jMember - the JMember to add to this JStructure.

addMethod

public void addMethod(JMethodSignature jMethodSig)
            throws IllegalArgumentException
Adds the given JMethodSignature to this JClass
Parameters:
jMethodSig - the JMethodSignature to add.

getField

public JField getField(String name)
Returns the field with the given name, or null if no field was found with the given name.
Overrides:
getField in interface org.codehaus.modello.generator.java.javasource.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
Overrides:
getFields in interface org.codehaus.modello.generator.java.javasource.JStructure
Returns:
an array of all the JFields of this JStructure

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.

getMethods

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

print

public void print(JSourceWriter jsw)
Prints the source code for this JInterface to the given JSourceWriter
Overrides:
print in interface org.codehaus.modello.generator.java.javasource.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]