org.xmloperator.lambda.net.model
Interface OperatorFactory


public interface OperatorFactory

This is a factory of operators in a lambda-net. Operators that are no more used can be returned to the factory; they can be recycled.


Method Summary
 Abstractor createAbstractor(int mark, ScopeBinder scopeBinder)
          Creates and returns a new Abstractor.
 Applicator createApplicator(int mark)
          Creates and returns a new Applicator.
 Delimiter createDelimiter(int mark, boolean isDirectionInversed, ScopeBinder scopeBinder)
          Creates and returns a new Delimiter.
 Duplicator createDuplicator(int mark, boolean isDirectionInversed)
          Creates and returns a new Duplicator.
 Eraser createEraser(int mark, boolean isDirectionInversed, boolean isActive)
          Creates and returns a new (active) Eraser.
 PortStack createPortStack()
          Creates and returns a new PortStack.
 ScopeBinder createScopeBinder()
          Creates a new ScopeBinder and returns it.
 Walk createWalk(int bindIndex)
          Creates and returns a new Walk.
 WalkStack createWalkStack()
          Creates and returns a new WalkStack.
 

Method Detail

createEraser

public Eraser createEraser(int mark,
                           boolean isDirectionInversed,
                           boolean isActive)
Creates and returns a new (active) Eraser.

Parameters:
mark - a mark.
isDirectionInversed - true for inverting direction.
isActive - true for an active Eraser, false for a root Eraser.
Returns:
the created Eraser.

createDelimiter

public Delimiter createDelimiter(int mark,
                                 boolean isDirectionInversed,
                                 ScopeBinder scopeBinder)
Creates and returns a new Delimiter.

Parameters:
mark - a mark.
isDirectionInversed - true for inverting direction.
scopeBinder - a ScopeBinder. May be null.
Returns:
the created Delimiter.

createAbstractor

public Abstractor createAbstractor(int mark,
                                   ScopeBinder scopeBinder)
Creates and returns a new Abstractor.

Parameters:
mark - a mark.
scopeBinder - a ScopeBinder. May be null.
Returns:
the created Abstractor.

createApplicator

public Applicator createApplicator(int mark)
Creates and returns a new Applicator.

Parameters:
mark - a mark.
Returns:
the created Applicator.

createDuplicator

public Duplicator createDuplicator(int mark,
                                   boolean isDirectionInversed)
Creates and returns a new Duplicator.

Parameters:
mark - a mark.
isDirectionInversed - true for inverting direction.
Returns:
the created Duplicator.

createPortStack

public PortStack createPortStack()
Creates and returns a new PortStack.

Returns:
the created PortStack.

createScopeBinder

public ScopeBinder createScopeBinder()
Creates a new ScopeBinder and returns it.

Returns:
the created ScopeBinder.

createWalk

public Walk createWalk(int bindIndex)
Creates and returns a new Walk.

Parameters:
bindIndex - a bind index.
Returns:
the created Walk.

createWalkStack

public WalkStack createWalkStack()
Creates and returns a new WalkStack.

Returns:
the created WalkStack.