org.jactr.core.chunk
Interface ISymbolicChunk

All Superinterfaces:
ISlotContainer, IUniqueSlotContainer
All Known Implementing Classes:
BasicSymbolicChunk

public interface ISymbolicChunk
extends IUniqueSlotContainer

Contains all the methods for manipulating slot/value pairs within a chunk. Also manages the name and chunktype

Author:
harrison

Method Summary
 void dispose()
          Description of the Method
 void encode(double when)
          do any symbolic encoding
 IChunkType getChunkType()
          Returns the IChunkType of this chunk.
 java.lang.String getName()
          Return the name of the chunk.
 IChunk getParentChunk()
          The parent chunk is the org.jactr.chunk.Chunk wrapper that contains this symbolic chunk.
 boolean isA(IChunkType ct)
          Returns true if the chunk has any parent chunktype of ct.
 boolean isAStrict(IChunkType ct)
          Returns true if and only if the immediate chunktype parent is ct.SymbolicChunk.getChunkType()==ct.
 void setName(java.lang.String name)
          Set the chunk name.
 
Methods inherited from interface org.jactr.core.slot.IUniqueSlotContainer
getSlot
 
Methods inherited from interface org.jactr.core.slot.ISlotContainer
addSlot, getSlots, getSlots, removeSlot
 

Method Detail

encode

void encode(double when)
do any symbolic encoding

Parameters:
when - TODO

getParentChunk

IChunk getParentChunk()
The parent chunk is the org.jactr.chunk.Chunk wrapper that contains this symbolic chunk. IChunk.getSymbolicChunk().getParentChunk() == IChunk.

Returns:
The parentChunk value
Since:

getName

java.lang.String getName()
Return the name of the chunk. Each chunk within a model must have a unique name. You may specify a preferred name during chunk creation (via. IModel.createChunk(IChunkType, String)) ? however, if there is a name collision, a unique name will be munged.

Returns:
The chunkName value
Since:

setName

void setName(java.lang.String name)
Set the chunk name. This is usually only called by the IModel.addChunk(IChunk) method. If the chunk has already been encoded and the name is changed, the model?s behavior is undefined. If you really must change a chunk?s name, remove it from the model first (IModel.removeChunk()), change the name to the new value, and then add it again (IModel.addChunk(IChunk)).

Parameters:
name - The new chunkName value
Since:

getChunkType

IChunkType getChunkType()
Returns the IChunkType of this chunk.

Returns:
The chunkType value
Since:

isA

boolean isA(IChunkType ct)
Returns true if the chunk has any parent chunktype of ct.

Parameters:
ct - Description of Parameter
Returns:
The a value
Since:

isAStrict

boolean isAStrict(IChunkType ct)
Returns true if and only if the immediate chunktype parent is ct.SymbolicChunk.getChunkType()==ct.

Parameters:
ct - Description of Parameter
Returns:
The aStrict value
Since:

dispose

void dispose()
Description of the Method

Since: