Package spoon.reflect.code
Interface CtIf
- All Superinterfaces:
Cloneable
,CtCodeElement
,CtElement
,CtQueryable
,CtStatement
,CtVisitable
,FactoryAccessor
,Serializable
,SourcePositionHolder
,TemplateParameter<Void>
- All Known Implementing Classes:
CtIfImpl
This code element represents an
if
statement.
Example:
if (1==0) { System.out.println("foo"); } else { System.out.println("bar"); }
-
Method Summary
Modifier and TypeMethodDescriptionclone()
Clone the element which calls this method in a new object.Gets the boolean expression that represents theif
's condition.<S extends CtStatement>
SGets the statement executed when the condition is false.<S extends CtStatement>
SGets the statement executed when the condition is true.<T extends CtIf>
TsetCondition(CtExpression<Boolean> expression)
Sets the boolean expression that represents theif
's condition.<T extends CtIf>
TsetElseStatement(CtStatement elseStatement)
Sets the statement executed when the condition is false.<T extends CtIf>
TsetThenStatement(CtStatement thenStatement)
Sets the statement executed when the condition is true.Methods inherited from interface spoon.reflect.code.CtCodeElement
partiallyEvaluate
Methods inherited from interface spoon.reflect.declaration.CtElement
addAnnotation, addComment, asIterable, delete, descendantIterator, getAllMetadata, getAnnotatedChildren, getAnnotation, getAnnotation, getAnnotations, getComments, getDirectChildren, getDocComment, getElements, getMetadata, getMetadataKeys, getOriginalSourceFragment, getParent, getParent, getParent, getPath, getPosition, getReferencedTypes, getRoleInParent, getShortRepresentation, getValueByRole, hasAnnotation, hasParent, isImplicit, isParentInitialized, prettyprint, putMetadata, removeAnnotation, removeComment, replace, replace, setAllMetadata, setAnnotations, setComments, setDocComment, setImplicit, setParent, setPosition, setPositions, setValueByRole, toString, toStringDebug, updateAllParentsBelow
Methods inherited from interface spoon.reflect.visitor.chain.CtQueryable
filterChildren, map, map
Methods inherited from interface spoon.reflect.code.CtStatement
comment, getLabel, insertAfter, insertAfter, insertBefore, insertBefore, setLabel
Methods inherited from interface spoon.reflect.visitor.CtVisitable
accept
Methods inherited from interface spoon.processing.FactoryAccessor
getFactory, setFactory
Methods inherited from interface spoon.template.TemplateParameter
S
-
Method Details
-
getCondition
CtExpression<Boolean> getCondition()Gets the boolean expression that represents theif
's condition. -
getElseStatement
Gets the statement executed when the condition is false.An
else if
likeif (a) { doA(); } else if (b) { doB(); } else { doC(); }
will be represented asif (a) { doA(); } else { if (b) { doB(); } else { doC(); } }
To differentiate between anelse
Block with anif
and anelse if
,CtElement.isImplicit()
is set totrue
.- Returns:
- the statement of the
else
ornull
if no else is specified.
-
getThenStatement
Gets the statement executed when the condition is true.This method will return
null
forif (condition);
.- Returns:
- the statement of the
if
, in most cases this is aCtBlock
.
-
setCondition
Sets the boolean expression that represents theif
's condition. -
setElseStatement
Sets the statement executed when the condition is false. -
setThenStatement
Sets the statement executed when the condition is true. -
clone
CtIf clone()Description copied from interface:CtElement
Clone the element which calls this method in a new object. Note that that references are kept as is, and thus, so if you clone whole classes or methods, some parts of the cloned element (eg executable references) may still point to the initial element. In this case, consider using methodsRefactoring.copyType(CtType)
andRefactoring.copyMethod(CtMethod)
instead which does additional work beyond cloning.- Specified by:
clone
in interfaceCtCodeElement
- Specified by:
clone
in interfaceCtElement
- Specified by:
clone
in interfaceCtStatement
-