org.jactr.core.production.action
Class ProxyAction

java.lang.Object
  extended by org.jactr.core.production.action.DefaultAction
      extended by org.jactr.core.production.action.AddAction
          extended by org.jactr.core.production.action.ProxyAction
All Implemented Interfaces:
IAction, IBufferAction, ISlotContainer

public class ProxyAction
extends AddAction

Author:
harrison To change the template for this generated type comment go to Window - Preferences - Java - Code Generation - Code and Comments

Constructor Summary
ProxyAction(java.lang.Class<? extends IAction> proxyClass)
           
ProxyAction(java.lang.String className)
           
 
Method Summary
 void addSlot(ISlot slot)
          In addition to adding chunks to a buffer, the IChunk?s slot values can be changed at the same time.
 IAction bind(java.util.Map<java.lang.String,java.lang.Object> variableBindings)
          Bind is called during the creation of an instantiation of a produciton.
 void dispose()
          Description of the Method
 double fire(IInstantiation instantiation, double firingTime)
          Description of the Method
 IAction getDelegate()
           
 java.lang.String getDelegateClassName()
           
 void removeSlot(ISlot slot)
          Remove a specific slot from the addaction.
 void setDelegateClass(java.lang.Class<? extends IAction> proxyClass)
           
 void setDelegateClassName(java.lang.String name)
           
 java.lang.String toString()
          Description of the Method
 
Methods inherited from class org.jactr.core.production.action.AddAction
getBufferName, getChunk, getChunkName, getChunkType, getReferant, getSlots, getSlots, setBufferName, setChunk, setChunkName, setChunkType, setReferant
 
Methods inherited from class org.jactr.core.production.action.DefaultAction
resolve
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProxyAction

public ProxyAction(java.lang.String className)
            throws java.lang.ClassNotFoundException,
                   java.lang.InstantiationException,
                   java.lang.IllegalAccessException
Throws:
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

ProxyAction

public ProxyAction(java.lang.Class<? extends IAction> proxyClass)
            throws java.lang.InstantiationException,
                   java.lang.IllegalAccessException
Throws:
java.lang.InstantiationException
java.lang.IllegalAccessException
Method Detail

getDelegate

public IAction getDelegate()

addSlot

public void addSlot(ISlot slot)
Description copied from class: AddAction
In addition to adding chunks to a buffer, the IChunk?s slot values can be changed at the same time. This prevents the need to an additional action just to change the slot values. The slot added will be used to modify the same named slot in the chunk.

Specified by:
addSlot in interface ISlotContainer
Overrides:
addSlot in class AddAction
Parameters:
slot - The feature to be added to the ISlot attribute

removeSlot

public void removeSlot(ISlot slot)
Description copied from class: AddAction
Remove a specific slot from the addaction.

Specified by:
removeSlot in interface ISlotContainer
Overrides:
removeSlot in class AddAction
Parameters:
slot - Description of Parameter

dispose

public void dispose()
Description copied from class: AddAction
Description of the Method

Specified by:
dispose in interface IAction
Overrides:
dispose in class AddAction

getDelegateClassName

public java.lang.String getDelegateClassName()

setDelegateClassName

public void setDelegateClassName(java.lang.String name)
                          throws java.lang.ClassNotFoundException,
                                 java.lang.InstantiationException,
                                 java.lang.IllegalAccessException
Throws:
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

setDelegateClass

public void setDelegateClass(java.lang.Class<? extends IAction> proxyClass)
                      throws java.lang.InstantiationException,
                             java.lang.IllegalAccessException
Throws:
java.lang.InstantiationException
java.lang.IllegalAccessException

toString

public java.lang.String toString()
Description copied from class: AddAction
Description of the Method

Overrides:
toString in class AddAction
Returns:
Description of the Returned Value

bind

public IAction bind(java.util.Map<java.lang.String,java.lang.Object> variableBindings)
             throws CannotInstantiateException
Description copied from interface: IAction
Bind is called during the creation of an instantiation of a produciton. By the time this gets called, we know that all the conditions are matched and all the variables have been assigned. This method merely creates a copy of this action and applies those bindings. the IAction returned by this method will be the actual one that is fired. Normally, an action should not change the contents of variableBindings

Specified by:
bind in interface IAction
Overrides:
bind in class AddAction
Returns:
Throws:
CannotInstantiateException

fire

public double fire(IInstantiation instantiation,
                   double firingTime)
Description copied from class: DefaultAction
Description of the Method

Specified by:
fire in interface IAction
Overrides:
fire in class AddAction
Parameters:
instantiation - Description of the Parameter
firingTime - when this production was fired
Returns:
Description of the Return Value