ca.nengo.model.impl
Class AbstractNode
java.lang.Object
ca.nengo.model.impl.AbstractNode
- All Implemented Interfaces:
- Node, Resettable, SimulationMode.ModeConfigurable, VisiblyMutable, java.io.Serializable, java.lang.Cloneable
public abstract class AbstractNode
- extends java.lang.Object
- implements Node
A base implementation of Node.
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractNode
public AbstractNode(java.lang.String name,
java.util.List<Origin> origins,
java.util.List<Termination> terminations)
- Parameters:
name
- Name of Nodeorigins
- List of Origins from the Nodeterminations
- List of Terminations onto the Node
getMode
public SimulationMode getMode()
- Specified by:
getMode
in interface SimulationMode.ModeConfigurable
- Returns:
- The SimulationMode in which the object is running
- See Also:
SimulationMode.ModeConfigurable.getMode()
getName
public java.lang.String getName()
- Specified by:
getName
in interface Node
- Returns:
- Name of Node (must be unique in a Network)
- See Also:
Node.getName()
setName
public void setName(java.lang.String name)
throws StructuralException
- Specified by:
setName
in interface Node
- Parameters:
name
- The new name
- Throws:
StructuralException
- if name already exists?
getOrigin
public Origin getOrigin(java.lang.String name)
throws StructuralException
- Specified by:
getOrigin
in interface Node
- Parameters:
name
- Name of an Origin on this Node
- Returns:
- The named Origin if it exists
- Throws:
StructuralException
- if the named Origin does not exist- See Also:
Node.getOrigin(java.lang.String)
getOrigins
public Origin[] getOrigins()
- Specified by:
getOrigins
in interface Node
- Returns:
- Sets of ouput channels (eg spiking outputs, gap junctional outputs, etc.)
- See Also:
Node.getOrigins()
getTermination
public Termination getTermination(java.lang.String name)
throws StructuralException
- Specified by:
getTermination
in interface Node
- Parameters:
name
- Name of a Termination onto this Node
- Returns:
- The named Termination if it exists
- Throws:
StructuralException
- if the named Termination does not exist- See Also:
Node.getTermination(java.lang.String)
getTerminations
public Termination[] getTerminations()
- Specified by:
getTerminations
in interface Node
- Returns:
- Sets of input channels (these have the same dimension as corresponding Origins
to which they are connected).
- See Also:
Node.getTerminations()
run
public abstract void run(float startTime,
float endTime)
throws SimulationException
- Does nothing.
- Specified by:
run
in interface Node
- Parameters:
startTime
- simulation time at which running starts (s)endTime
- simulation time at which running ends (s)
- Throws:
SimulationException
- if a problem is encountered while trying to run- See Also:
Node.run(float, float)
setMode
public void setMode(SimulationMode mode)
- Description copied from interface:
SimulationMode.ModeConfigurable
- Sets the object to run in either the given mode or the closest mode that it supports
(all ModeConfigurables must support SimulationMode.DEFAULT, and must default to this mode).
- Specified by:
setMode
in interface SimulationMode.ModeConfigurable
- Parameters:
mode
- SimulationMode in which it is desired that the object runs.- See Also:
SimulationMode.ModeConfigurable.setMode(ca.nengo.model.SimulationMode)
reset
public abstract void reset(boolean randomize)
- Does nothing.
- Specified by:
reset
in interface Resettable
- Parameters:
randomize
- True indicates that the object should be reset to a
randomly selected initial state (the object must be aware of the
distribution from which to draw from). False indicates that the
object should be reset to a fixed initial state (which it must
also know). Some objects may not support randomization of the initial
state, in which case a fixed state will be used in either case.- See Also:
Resettable.reset(boolean)
getDocumentation
public java.lang.String getDocumentation()
- Specified by:
getDocumentation
in interface Node
- Returns:
- User-specified documentation for the Node, if any
- See Also:
Node.getDocumentation()
setDocumentation
public void setDocumentation(java.lang.String text)
- Specified by:
setDocumentation
in interface Node
- Parameters:
text
- New user-specified documentation for the Node- See Also:
Node.setDocumentation(java.lang.String)
addChangeListener
public void addChangeListener(VisiblyMutable.Listener listener)
- Specified by:
addChangeListener
in interface VisiblyMutable
- Parameters:
listener
- Listener to add- See Also:
VisiblyMutable.addChangeListener(ca.nengo.util.VisiblyMutable.Listener)
removeChangeListener
public void removeChangeListener(VisiblyMutable.Listener listener)
- Specified by:
removeChangeListener
in interface VisiblyMutable
- Parameters:
listener
- Listener to remove- See Also:
VisiblyMutable.removeChangeListener(ca.nengo.util.VisiblyMutable.Listener)
clone
public Node clone()
throws java.lang.CloneNotSupportedException
- Performs a shallow copy. Origins and Terminations are not cloned, because generally they
will have to be reparameterized, at least to point to the new Node.
- Specified by:
clone
in interface Node
- Overrides:
clone
in class java.lang.Object
- Returns:
- An independent copy of the Node
- Throws:
java.lang.CloneNotSupportedException
- if clone can't be made