org.exolab.javasource
Class JInterface

java.lang.Object
  extended by org.exolab.javasource.JType
      extended by org.exolab.javasource.JStructure
          extended by org.exolab.javasource.JInterface
All Implemented Interfaces:
JAnnotatedElement

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: 1.4 $ $Date: 2005/02/27 00:30:28 $
Author:
Martin Skopp, Keith Visco

Field Summary
 
Fields inherited from class org.exolab.javasource.JStructure
DEFAULT_HEADER, version
 
Fields inherited from class org.exolab.javasource.JType
Boolean, Byte, Char, Double, Float, Int, Long, Short
 
Constructor Summary
JInterface(java.lang.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(JMember jMember)
          Adds the given JMember to this JStructure.
 void addMethod(JMethodSignature jMethodSig)
          Adds the given JMethodSignature to this JClass
 JField getField(java.lang.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(int index)
          Returns the JMethodSignature at the given index.
 JMethodSignature getMethod(java.lang.String name, int startIndex)
          Returns the JMethodSignature with the given name, and occuring at or after the given starting 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.exolab.javasource.JStructure
addAnnotation, addImport, addImport, addImport, addInterface, addInterface, getAnnotatedElementHelper, getAnnotation, getAnnotations, getFilename, getHeader, getImports, getInterfaceCount, getInterfaces, getJDocComment, getModifiers, getName, getPackageFromClassName, getPackageName, hasAnnotations, hasImport, isAnnotationPresent, isValidClassName, print, print, printHeader, printImportDeclarations, printlnWithPrefix, printPackageDeclaration, removeAnnotation, removeImport, setHeader, setPackageName
 
Methods inherited from class org.exolab.javasource.JType
changePackage, createArray, getComponentType, getLocalName, getName, isArray, isPrimitive, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JInterface

public JInterface(java.lang.String name)
           throws java.lang.IllegalArgumentException
Creates a new JInterface with the given name.

Parameters:
name - the name of the JInterface.
Throws:
java.lang.IllegalArgumentException - when the given name is not a valid Class name.
Method Detail

addField

public void addField(JField jField)
              throws java.lang.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:
java.lang.IllegalArgumentException - when the given JField has a name of an existing JField

addMember

public void addMember(JMember jMember)
               throws java.lang.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:
java.lang.IllegalArgumentException - when the given JMember has the same name of an existing JField or JMethod respectively.

addMethod

public void addMethod(JMethodSignature jMethodSig)
               throws java.lang.IllegalArgumentException
Adds the given JMethodSignature to this JClass

Parameters:
jMethodSig - the JMethodSignature to add.
Throws:
java.lang.IllegalArgumentException - when the given JMethodSignature conflicts with an existing method signature.

getField

public JField getField(java.lang.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(java.lang.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]


Intalio Inc. (C) 1999-2004. All rights reserved http://www.intalio.com