org.xmloperator.lambda2.net.model
Interface Decoder

All Superinterfaces:
Cell
All Known Implementing Classes:
DecoderImpl

public interface Decoder
extends Cell

Cell used for decoding a LambdaNet that represents an abstraction.

The Cell has an index in order to represent a variable.

The Decoder increments its arity by interacting with an applicator Cell.


Field Summary
 
Fields inherited from interface org.xmloperator.lambda2.net.model.Cell
INTERACTION_ABSTRACTOR_APPLICATOR, INTERACTION_ANNIHILATION_CONSTRUCTOR, INTERACTION_ANNIHILATION_DUPLICATOR, INTERACTION_ANNIHILATION_ERASER, INTERACTION_APPLICATOR_DECODER, INTERACTION_CONSTRUCTOR_DUPLICATOR, INTERACTION_CONSTRUCTOR_DUPLICATOR_CONTRUCTORS, INTERACTION_DUPLICATING_ABSTRACTOR, INTERACTION_DUPLICATING_APPLICATOR, INTERACTION_DUPLICATING_DECODER, INTERACTION_ERASING_ABSTRACTOR, INTERACTION_ERASING_APPLICATOR, INTERACTION_ERASING_CONSTRUCTOR, INTERACTION_ERASING_DECODER, INTERACTION_ERASING_DUPLICATOR, INTERACTION_MERGING_DECODER, INTERACTION_MERGING_DECODERS, INTERACTION_SYMBOLS, INTERACTION_WIRE, SYMBOL_ABSTRACTOR, SYMBOL_APPLICATOR, SYMBOL_CONSTRUCTOR, SYMBOL_DECODER, SYMBOL_DUPLICATOR, SYMBOL_ERASER, SYMBOL_SYMBOLS, SYMBOL_WIRE
 
Method Summary
 Port addNewAuxiliaryPort()
          Adds a new auxiliary Port to this Cell and returns it.
 void addSequenceCount(long sequenceCount)
          Adds a given sequence count to this unary Decoder.
 int getIndex()
          Returns the index attached to this Decoder.
 long getSequenceCount()
          Returns the sequence count of this unary Decoder.
 
Methods inherited from interface org.xmloperator.lambda2.net.model.Cell
cloneCell, collectPorts, getPort, getPrincipalPort, getSymbol, getSymbolArity, interact, isBinaryCell, isDecoder, isEraser, isPentaryMultiplexor, isWireCell
 

Method Detail

getIndex

public int getIndex()
Returns the index attached to this Decoder.

Returns:
the index attached to this Decoder.

addNewAuxiliaryPort

public Port addNewAuxiliaryPort()
Adds a new auxiliary Port to this Cell and returns it. The symbol arity is incremented. The new Port has the new arity as port number.

Returns:
the created auxiliary Port.

getSequenceCount

public long getSequenceCount()
Returns the sequence count of this unary Decoder.

This doesn't make sense for a Decoder that is not unary.

Returns:
the sequence count of this unary Decoder.

addSequenceCount

public void addSequenceCount(long sequenceCount)
Adds a given sequence count to this unary Decoder.

This doesn't make sense for a Decoder that is not unary.

Parameters:
sequenceCount - a sequence count.
Throws:
java.lang.IllegalArgumentException - if the given sequence count is <= 0.
java.lang.IllegalStateException - if this Decoder is not unary.