org.exolab.javasource
Class JSourceCode

java.lang.Object
  extended by org.exolab.javasource.JSourceCode

public final class JSourceCode
extends java.lang.Object

A class for holding in-memory Java source code.

Version:
$Revision: 7943 $ $Date: 2005-03-05 06:42:06 -0700 (Sat, 05 Mar 2005) $
Author:
Keith Visco

Field Summary
static int DEFAULT_INDENT_SIZE
          Default indentation size.
 
Constructor Summary
JSourceCode()
          Creates an empty JSourceCode.
JSourceCode(java.lang.String sourceCode)
          Creates a JSourceCode and adds the given String to its contents.
 
Method Summary
 void add(java.lang.String statement)
          Adds the given statement to this JSourceCode.
 void add(java.lang.String pattern, java.lang.Object argument)
          Adds statement generated by replacing parameters of given pattern with given argument to this JSourceCode.
 void add(java.lang.String pattern, java.lang.Object[] arguments)
          Adds statements generated by replacing parameters of given pattern with given arguments to this JSourceCode.
 void add(java.lang.String pattern, java.lang.Object argument1, java.lang.Object argument2)
          Adds statement generated by replacing parameters of given pattern with given arguments to this JSourceCode.
 void addIndented(java.lang.String statement)
          Adds the given statement to this JSourceCode.
 void append(java.lang.String segment)
          Appends the given String to the last line in this JSourceCode.
 void clear()
          Clears all the code statements from this JSourceCode.
 void copyInto(JSourceCode jsc)
          Copies the contents of this JSourceCode into the given JSourceCode.
 java.util.Vector<JCodeStatement> getSource()
          Returns a vector of source lines.
 void indent()
          Increases the current indent level by 1.
 boolean isEmpty()
          Returns true if this JSourceCode is empty (ie.
 void print(JSourceWriter jsw)
          Prints this JSourceCode to the given JSourceWriter.
 int size()
          Returns the number of source code lines (aka JCodeStatements) set so far.
 java.lang.String toString()
          
 void unindent()
          Decreases the indent level by 1.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_INDENT_SIZE

public static final int DEFAULT_INDENT_SIZE
Default indentation size.

See Also:
Constant Field Values
Constructor Detail

JSourceCode

public JSourceCode()
Creates an empty JSourceCode.


JSourceCode

public JSourceCode(java.lang.String sourceCode)
Creates a JSourceCode and adds the given String to its contents.

Parameters:
sourceCode - the source to add
Method Detail

add

public void add(java.lang.String pattern,
                java.lang.Object argument)
Adds statement generated by replacing parameters of given pattern with given argument to this JSourceCode. The statement will be added on a new line.

Parameters:
pattern - Pattern for the statement.
argument - Argument to replace first parameter in pattern.

add

public void add(java.lang.String pattern,
                java.lang.Object argument1,
                java.lang.Object argument2)
Adds statement generated by replacing parameters of given pattern with given arguments to this JSourceCode. The statement will be added on a new line.

Parameters:
pattern - Pattern for the statement.
argument1 - Argument to replace first parameter in pattern.
argument2 - Argument to replace second parameter in pattern.

add

public void add(java.lang.String pattern,
                java.lang.Object[] arguments)
Adds statements generated by replacing parameters of given pattern with given arguments to this JSourceCode. Multiple statements can be separated by '\n' characters. Each statement will be added on a new line. If that statement starts with whitespace characters it will be indented.

Parameters:
pattern - Pattern for the statement.
arguments - Arguments to replace parameters in pattern.

add

public void add(java.lang.String statement)
Adds the given statement to this JSourceCode. The statement will be added on a new line.

Parameters:
statement - The statement to add.

addIndented

public void addIndented(java.lang.String statement)
Adds the given statement to this JSourceCode. The statement will be added on a new line and added with increased indent. This is a convenience method for the sequence: indent(); add(statement); unindent();

Parameters:
statement - The statement to add.

append

public void append(java.lang.String segment)
Appends the given String to the last line in this JSourceCode.

Parameters:
segment - The String to append.

clear

public void clear()
Clears all the code statements from this JSourceCode.


copyInto

public void copyInto(JSourceCode jsc)
Copies the contents of this JSourceCode into the given JSourceCode.

Parameters:
jsc - The JSourceCode to copy this JSourceCode into.

indent

public void indent()
Increases the current indent level by 1.


isEmpty

public boolean isEmpty()
Returns true if this JSourceCode is empty (ie. no source).

Returns:
True if this JSourceCode is empty.

print

public void print(JSourceWriter jsw)
Prints this JSourceCode to the given JSourceWriter.

Parameters:
jsw - The JSourceWriter to print to.

unindent

public void unindent()
Decreases the indent level by 1.


size

public int size()
Returns the number of source code lines (aka JCodeStatements) set so far.

Returns:
The number of source code lines set so far.

getSource

public java.util.Vector<JCodeStatement> getSource()
Returns a vector of source lines.

Returns:
A vector of source lines.

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object


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