Class RunProtelisProgram

  • All Implemented Interfaces:
    it.unibo.alchemist.model.interfaces.Action<java.lang.Object>, it.unibo.alchemist.model.interfaces.Molecule, java.io.Serializable

    public final class RunProtelisProgram
    extends it.unibo.alchemist.model.implementations.molecules.SimpleMolecule
    implements it.unibo.alchemist.model.interfaces.Action<java.lang.Object>
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String RESULT
      RESULT.
    • Constructor Summary

      Constructors 
      Constructor Description
      RunProtelisProgram​(it.unibo.alchemist.model.interfaces.Environment<java.lang.Object> env, ProtelisNode n, it.unibo.alchemist.model.interfaces.Reaction<java.lang.Object> r, org.apache.commons.math3.random.RandomGenerator rand, java.lang.String prog)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      it.unibo.alchemist.model.interfaces.Action<java.lang.Object> cloneAction​(it.unibo.alchemist.model.interfaces.Node<java.lang.Object> n, it.unibo.alchemist.model.interfaces.Reaction<java.lang.Object> r)  
      void execute()  
      it.unibo.alchemist.model.interfaces.Context getContext()  
      protected it.unibo.alchemist.model.interfaces.Environment<java.lang.Object> getEnvironment()  
      java.util.List<? extends it.unibo.alchemist.model.interfaces.Molecule> getModifiedMolecules()  
      protected ProtelisNode getNode()  
      • Methods inherited from class it.unibo.alchemist.model.implementations.molecules.SimpleMolecule

        dependsOn, equals, getId, getName, hashCode, toFasterString, toString
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • RunProtelisProgram

        public RunProtelisProgram​(it.unibo.alchemist.model.interfaces.Environment<java.lang.Object> env,
                                  ProtelisNode n,
                                  it.unibo.alchemist.model.interfaces.Reaction<java.lang.Object> r,
                                  org.apache.commons.math3.random.RandomGenerator rand,
                                  java.lang.String prog)
        Parameters:
        env - the environment
        n - the node
        r - the reaction
        rand - the random engine
        prog - the Protelis program
        Throws:
        java.lang.SecurityException - if you are not authorized to load required classes
    • Method Detail

      • execute

        public void execute()
        Specified by:
        execute in interface it.unibo.alchemist.model.interfaces.Action<java.lang.Object>
      • getEnvironment

        protected it.unibo.alchemist.model.interfaces.Environment<java.lang.Object> getEnvironment()
        Returns:
        the environment
      • getNode

        protected ProtelisNode getNode()
        Returns:
        the node
      • getModifiedMolecules

        public java.util.List<? extends it.unibo.alchemist.model.interfaces.Molecule> getModifiedMolecules()
        Specified by:
        getModifiedMolecules in interface it.unibo.alchemist.model.interfaces.Action<java.lang.Object>
      • getContext

        public it.unibo.alchemist.model.interfaces.Context getContext()
        Specified by:
        getContext in interface it.unibo.alchemist.model.interfaces.Action<java.lang.Object>
      • cloneAction

        public it.unibo.alchemist.model.interfaces.Action<java.lang.Object> cloneAction​(it.unibo.alchemist.model.interfaces.Node<java.lang.Object> n,
                                                                                        it.unibo.alchemist.model.interfaces.Reaction<java.lang.Object> r)
        Specified by:
        cloneAction in interface it.unibo.alchemist.model.interfaces.Action<java.lang.Object>