com.togethersoft.openapi.sci.visitor
Class SciElementVisitorAdapter
- public class SciElementVisitorAdapter
- implements SciElementVisitor
SciElementVisitorAdapter class extends SciElementVisitor functionality by
providing an additional method visitElement.
This method is used to perform the same actions for all kinds of SciElements.
For example, the visitClass perfoms
a special action for a SciClass (represents a class/interface), which can be different from the action for a variable or a function,
while visitElement method performs the same action for any SciElement:
public class MyVisitor extends SciElementVisitorAdapter{
public Object visitVariable(SciVariable variable){
IdeMessageManagerAccess.printMessage(IdeMessageType.INFORMATION, "An action for SciVariable."); // specific action for a variable
return visitElement(variable); //the same action for all kinds of elements
}
public Object visitFunction(SciFunction funcion){
IdeMessageManagerAccess.printMessage(IdeMessageType.INFORMATION, "An action for SciFunction."); // specific action for a function
return null; // for example, let's suppose for functions we do not need any additional actions;
}
public Object visitElement(SciElement element){
IdeMessageManagerAccess.printMessage(IdeMessageType.INFORMATION, "An action for SciFunction.");
return null;
}
//since other visitor methods are not overridden, they will call visitElement method (see below)
}
In this class methods do nothing, here are the bodies of methods:
public Object visitElement(SciElement sciElement){ return null; }
public Object visitClass(SciClass sciClass){ return visitElement(sciClass); }
public Object visitAttribute(SciAttribute sciAttribute){ return visitVariable(sciAttribute); }
public Object visitOperation(SciOperation sciOperation){ return visitFunction(sciOperation); }
public Object visitVariable(SciVariable sciVariable){ return visitElement(sciVariable); }
public Object visitFunction(SciFunction sciFunction){ return visitElement(sciFunction); }
public Object visitParameter(SciParameter sciParameter){ return visitVariable(sciParameter); }
public Object visitInheritance(SciInheritance sciInheritance){ return visitElement(sciInheritance); }
public Object visitThrowSpecifier(SciThrowSpecifier sciThrowSpecifier){ return visitElement(sciThrowSpecifier); }
- Author:
- TogetherSoft
- See Also: com.togethersoft.openapi.sci.SciElement.accept(com.togethersoft.openapi.sci.visitor.SciElementVisitor), SciElementVisitor
visitAttribute
public Object visitAttribute(SciAttribute sciAttribute)
visitClass
public Object visitClass(SciClass sciClass)
visitElement
public Object visitElement(SciElement sciElement)
visitFunction
public Object visitFunction(SciFunction sciFunction)
visitInheritance
public Object visitInheritance(SciInheritance sciInheritance)
visitInitializer
public Object visitInitializer(SciInitializer sciInitializer)
visitOperation
public Object visitOperation(SciOperation sciOperation)
visitParameter
public Object visitParameter(SciParameter sciParameter)
visitThrowSpecifier
public Object visitThrowSpecifier(SciThrowSpecifier sciThrowSpecifier)
visitVariable
public Object visitVariable(SciVariable sciVariable)