|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.codemodel.JBlock
public final class JBlock
A block of Java code, which may contain statements and local declarations.
JBlock
contains a large number of factory methods that creates new
statements/declarations. Those newly created statements/declarations are
inserted into the "current position"
. The position advances
one every time you add a new instruction.
Constructor Summary | |
---|---|
JBlock()
|
|
JBlock(boolean bracesRequired,
boolean indentRequired)
|
Method Summary | |
---|---|
void |
_break()
Create a break statement and add it to this block |
void |
_break(JLabel label)
|
void |
_continue()
|
void |
_continue(JLabel label)
Create a continue statement and add it to this block |
JDoLoop |
_do(JExpression test)
Create a Do statement and add it to this block |
JForLoop |
_for()
Create a For statement and add it to this block |
JConditional |
_if(JExpression expr)
Create an If statement and add it to this block |
void |
_return()
Create a return statement and add it to this block |
void |
_return(JExpression exp)
Create a return statement and add it to this block |
JSwitch |
_switch(JExpression test)
Create a switch/case statement and add it to this block |
void |
_throw(JExpression exp)
Create a throw statement and add it to this block |
JTryBlock |
_try()
Create a Try statement and add it to this block |
JWhileLoop |
_while(JExpression test)
Create a While statement and add it to this block |
JBlock |
add(JStatement s)
Adds a statement to this block |
JBlock |
assign(JAssignmentTarget lhs,
JExpression exp)
Creates an assignment statement and adds it to this block. |
JBlock |
assignPlus(JAssignmentTarget lhs,
JExpression exp)
|
JBlock |
block()
Create a sub-block and add it to this block |
JVar |
decl(int mods,
JType type,
String name,
JExpression init)
Adds a local variable declaration to this block |
JVar |
decl(JType type,
String name)
Adds a local variable declaration to this block |
JVar |
decl(JType type,
String name,
JExpression init)
Adds a local variable declaration to this block |
JStatement |
directStatement(String source)
Creates a "literal" statement directly. |
JForEach |
forEach(JType varType,
String name,
JExpression collection)
Creates an enhanced For statement based on j2se 1.5 JLS and add it to this block |
void |
generate(JFormatter f)
|
List<Object> |
getContents()
Returns a read-only view of JStatement s and JDeclaration
in this block. |
JInvocation |
invoke(JExpression expr,
JMethod method)
Creates an invocation statement and adds it to this block. |
JInvocation |
invoke(JExpression expr,
String method)
Creates an invocation statement and adds it to this block. |
JInvocation |
invoke(JMethod method)
Creates an invocation statement and adds it to this block. |
JInvocation |
invoke(String method)
Creates an invocation statement and adds it to this block. |
boolean |
isEmpty()
Returns true if this block is empty and does not contain any statement. |
JLabel |
label(String name)
Create a label, which can be referenced from continue and break statements. |
int |
pos()
Gets the current position to which new statements will be inserted. |
int |
pos(int newPos)
Sets the current position. |
void |
state(JFormatter f)
|
JInvocation |
staticInvoke(JClass type,
String method)
Creates a static invocation statement. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JBlock()
public JBlock(boolean bracesRequired, boolean indentRequired)
Method Detail |
---|
public List<Object> getContents()
JStatement
s and JDeclaration
in this block.
public int pos()
pos(int)
public int pos(int newPos)
IllegalArgumentException
- if the new position value is illegal.pos()
public boolean isEmpty()
public JVar decl(JType type, String name)
type
- JType of the variablename
- Name of the variable
public JVar decl(JType type, String name, JExpression init)
type
- JType of the variablename
- Name of the variableinit
- Initialization expression for this variable. May be null.
public JVar decl(int mods, JType type, String name, JExpression init)
mods
- Modifiers for the variabletype
- JType of the variablename
- Name of the variableinit
- Initialization expression for this variable. May be null.
public JBlock assign(JAssignmentTarget lhs, JExpression exp)
lhs
- Assignable variable or field for left hand side of expressionexp
- Right hand side expressionpublic JBlock assignPlus(JAssignmentTarget lhs, JExpression exp)
public JInvocation invoke(JExpression expr, String method)
expr
- JExpression evaluating to the class or object upon which
the named method will be invokedmethod
- Name of method to invoke
public JInvocation invoke(JExpression expr, JMethod method)
expr
- JExpression evaluating to the class or object upon which
the method will be invokedmethod
- JMethod to invoke
public JInvocation staticInvoke(JClass type, String method)
public JInvocation invoke(String method)
method
- Name of method to invoke
public JInvocation invoke(JMethod method)
method
- JMethod to invoke
public JBlock add(JStatement s)
s
- JStatement to be added
public JConditional _if(JExpression expr)
expr
- JExpression to be tested to determine branching
public JForLoop _for()
public JWhileLoop _while(JExpression test)
public JSwitch _switch(JExpression test)
public JDoLoop _do(JExpression test)
public JTryBlock _try()
public void _return()
public void _return(JExpression exp)
public void _throw(JExpression exp)
public void _break()
public void _break(JLabel label)
public JLabel label(String name)
continue
and break
statements.
public void _continue(JLabel label)
public void _continue()
public JBlock block()
public JStatement directStatement(String source)
Specified string is printed as-is. This is useful as a short-cut.
For example, you can invoke this method as:
directStatement("a=b+c;")
.
public void generate(JFormatter f)
generate
in interface JGenerable
public JForEach forEach(JType varType, String name, JExpression collection)
public void state(JFormatter f)
state
in interface JStatement
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |