com.togethersoft.openapi.sci.visitor
Interface SciElementVisitor

All Known Implementing Classes:
SciElementVisitorAdapter

public interface SciElementVisitor

Visitor design pattern implementation for SciElements.

It defines defferent methods for visiting different kinds of elements (class, operation, parameter etc). These methods are called up from element's accept method which determines the kind of the element and runs this visitor's corresponding method, passing the element as a parameter.

For example, this command

 mySciAttribute.accept(mySciElementVisitor); //mySciElementVisitor implements SciElementVisitor
will call mySciElementVisitor.visitAttribute(SciAttribute) method, passing mySciAttribute to it.

Every method returns a result of its actions. It can be null if it is not required from this visitor to return any information.

Author:
TogetherSoft
See Also: com.togethersoft.openapi.sci.SciElement.accept(com.togethersoft.openapi.sci.visitor.SciElementVisitor), SciElementVisitorAdapter, com.togethersoft.openapi.sci.visitor

Method Summary
 ObjectvisitAttribute(SciAttribute sciAttribute)
           Performs an action upon SciAttribute.
 ObjectvisitClass(SciClass sciClass)
           Performs an action upon SciClass.
 ObjectvisitFunction(SciFunction sciFunction)
           Performs an action upon SciFunction.
 ObjectvisitInheritance(SciInheritance sciInheritance)
           Performs an action upon SciInheritance.
 ObjectvisitInitializer(SciInitializer sciInitializer)
           Performs an action upon SciInitializer.
 ObjectvisitOperation(SciOperation sciOperation)
           Performs an action upon SciOperation.
 ObjectvisitParameter(SciParameter sciParameter)
           Performs an action upon SciParameter.
 ObjectvisitThrowSpecifier(SciThrowSpecifier sciThrowSpecifier)
           Performs an action upon SciThrowSpecifier.
 ObjectvisitVariable(SciVariable sciVariable)
           Performs an action upon SciVariable.

Method Detail

visitAttribute

public Object visitAttribute(SciAttribute sciAttribute)
Performs an action upon SciAttribute.
Parameters:
sciAttribute - the SciAttribute which is the subject for the action
Returns: a visitor-specific result

visitClass

public Object visitClass(SciClass sciClass)
Performs an action upon SciClass.
Parameters:
sciClass - the SciClass which is the subject for the action
Returns: a visitor-specific result

visitFunction

public Object visitFunction(SciFunction sciFunction)
Performs an action upon SciFunction.
Parameters:
sciFunction - the SciFunction which is the subject for the action
Returns: a visitor-specific result

visitInheritance

public Object visitInheritance(SciInheritance sciInheritance)
Performs an action upon SciInheritance.
Parameters:
sciInheriance - the SciInheritance which is the subject for the action
Returns: a visitor-specific result

visitInitializer

public Object visitInitializer(SciInitializer sciInitializer)
Performs an action upon SciInitializer.
Parameters:
sciInitializer - the SciInitializer which is the subject for the action
Returns: a visitor-specific result

visitOperation

public Object visitOperation(SciOperation sciOperation)
Performs an action upon SciOperation.
Parameters:
sciOperation - the SciOperation which is the subject for the action
Returns: a visitor-specific result

visitParameter

public Object visitParameter(SciParameter sciParameter)
Performs an action upon SciParameter.
Parameters:
sciParameter - the SciParameter which is the subject for the action
Returns: a visitor-specific result

visitThrowSpecifier

public Object visitThrowSpecifier(SciThrowSpecifier sciThrowSpecifier)
Performs an action upon SciThrowSpecifier.
Parameters:
sciThrowSpecifier - the SciThrowSpecifier which is the subject for the action
Returns: a visitor-specific result

visitVariable

public Object visitVariable(SciVariable sciVariable)
Performs an action upon SciVariable.
Parameters:
sciVariable - the SciVariable which is the subject for the action
Returns: a visitor-specific result