com.gridsystems.nextgrid.api.pom
Class ProcessContext

java.lang.Object
  extended by com.gridsystems.nextgrid.api.pom.ProcessContext
All Implemented Interfaces:
java.io.Serializable, nextgrid.api.env.ProcessEnvironment, nextgrid.api.pom.ProcessController

public class ProcessContext
extends java.lang.Object
implements nextgrid.api.env.ProcessEnvironment, nextgrid.api.pom.ProcessController

Implementation of the ProcessEnvironment and ProcessController interfaces.

Author:
Rodrigo Ruiz
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface nextgrid.api.pom.ProcessController
nextgrid.api.pom.ProcessController.State
 
Field Summary
static java.net.URI NULL_ID
          URI used to replace null values.
 
Constructor Summary
ProcessContext()
          Creates a new instance.
 
Method Summary
 void addListenersFor(java.net.URI id, nextgrid.api.pem.POMListener... listeners)
          Adds one or more listeners to a given process.
 void cancel()
          
 void clearListeners()
          Clears all listeners registered in this environment instance.
 void clearListenersFor(java.net.URI id)
          Clears all listeners registered for a given Process in this environment instance.
 com.gridsystems.nextgrid.api.pom.EnactionWorker createWorkerThread(Enactable enactable)
          Creates a Thread that executes an Enactable instance taking care of exception handling.
 java.io.Serializable getAttribute(java.lang.String id)
          
 java.util.Map<java.lang.String,java.io.Serializable> getAttributes()
          
 nextgrid.api.env.ProcessDiscoverer getDiscovererFor(java.net.URI id)
          
 java.util.List<nextgrid.api.env.ProcessDiscoverer> getDiscoverers()
          
 java.util.Collection<nextgrid.api.pem.POMListener> getListenersFor(java.net.URI id)
          
 nextgrid.api.env.Prioritiser getPrioritiserFor(java.net.URI id)
          
 java.util.List<nextgrid.api.env.Prioritiser> getPrioritisers()
          
 nextgrid.api.env.ProcessSelector getSelectorFor(java.net.URI id)
          
 java.util.List<nextgrid.api.env.ProcessSelector> getSelectors()
          
 nextgrid.api.pom.ProcessController.State getState()
          
 nextgrid.api.env.STSModule getSTSModule()
          
 void join()
          
 void pause()
          
 void removeListenersFrom(java.net.URI id, nextgrid.api.pem.POMListener... listeners)
          Removes one or more listeners from the attachment map.
 void resume()
          
 void run()
          
 void setAttribute(java.lang.String id, java.io.Serializable value)
          
 void setComponentFor(java.net.URI id, java.lang.Object obj)
          Sets a component that could potentially implement several interfaces.
 void setDefaultDiscoverer(nextgrid.api.env.ProcessDiscoverer discoverer)
          Sets the discoverer instance associated to all processes without an explicit one.
 void setDefaultPrioritiser(nextgrid.api.env.Prioritiser prioritiser)
          Sets the prioritiser instance associated to all processes without an explicit one.
 void setDefaultSelector(nextgrid.api.env.ProcessSelector selector)
          Sets the selector instance associated to all processes without an explicit one.
 void setDiscovererFor(java.net.URI id, nextgrid.api.env.ProcessDiscoverer discoverer)
          Sets the discoverer associated to a given URI.
 void setPrioritiser(java.net.URI id, nextgrid.api.env.Prioritiser prioritiser)
          Sets the prioritiser associated to a given URI.
 void setSelectorFor(java.net.URI id, nextgrid.api.env.ProcessSelector selector)
          Sets the selector associated to a given URI.
 void setSTSModule(nextgrid.api.env.STSModule stsmod)
          
 void start()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NULL_ID

public static final java.net.URI NULL_ID
URI used to replace null values.

Constructor Detail

ProcessContext

public ProcessContext()
Creates a new instance.

Method Detail

cancel

public void cancel()
            throws nextgrid.api.pom.ProcessException,
                   java.lang.InterruptedException

Specified by:
cancel in interface nextgrid.api.pom.ProcessController
Throws:
nextgrid.api.pom.ProcessException
java.lang.InterruptedException

getState

public nextgrid.api.pom.ProcessController.State getState()

Specified by:
getState in interface nextgrid.api.pom.ProcessController

pause

public void pause()
           throws nextgrid.api.pom.ProcessException,
                  java.lang.InterruptedException

Specified by:
pause in interface nextgrid.api.pom.ProcessController
Throws:
nextgrid.api.pom.ProcessException
java.lang.InterruptedException

resume

public void resume()

Specified by:
resume in interface nextgrid.api.pom.ProcessController

start

public void start()

Specified by:
start in interface nextgrid.api.pom.ProcessController

join

public void join()

Specified by:
join in interface nextgrid.api.pom.ProcessController

run

public void run()

Specified by:
run in interface nextgrid.api.pom.ProcessController

getDiscovererFor

public nextgrid.api.env.ProcessDiscoverer getDiscovererFor(java.net.URI id)
                                                    throws nextgrid.api.env.DiscoveryException

Specified by:
getDiscovererFor in interface nextgrid.api.env.ProcessEnvironment
Throws:
nextgrid.api.env.DiscoveryException

getDiscoverers

public java.util.List<nextgrid.api.env.ProcessDiscoverer> getDiscoverers()

Specified by:
getDiscoverers in interface nextgrid.api.env.ProcessEnvironment

getPrioritiserFor

public nextgrid.api.env.Prioritiser getPrioritiserFor(java.net.URI id)

Specified by:
getPrioritiserFor in interface nextgrid.api.env.ProcessEnvironment

getPrioritisers

public java.util.List<nextgrid.api.env.Prioritiser> getPrioritisers()

Specified by:
getPrioritisers in interface nextgrid.api.env.ProcessEnvironment

getSelectorFor

public nextgrid.api.env.ProcessSelector getSelectorFor(java.net.URI id)

Specified by:
getSelectorFor in interface nextgrid.api.env.ProcessEnvironment

getSelectors

public java.util.List<nextgrid.api.env.ProcessSelector> getSelectors()

Specified by:
getSelectors in interface nextgrid.api.env.ProcessEnvironment

setDiscovererFor

public void setDiscovererFor(java.net.URI id,
                             nextgrid.api.env.ProcessDiscoverer discoverer)
Sets the discoverer associated to a given URI.

Specified by:
setDiscovererFor in interface nextgrid.api.env.ProcessEnvironment
Parameters:
id - A process id
discoverer - A discoverer instance

setDefaultDiscoverer

public void setDefaultDiscoverer(nextgrid.api.env.ProcessDiscoverer discoverer)
Sets the discoverer instance associated to all processes without an explicit one.

Specified by:
setDefaultDiscoverer in interface nextgrid.api.env.ProcessEnvironment
Parameters:
discoverer - A discoverer instance

setPrioritiser

public void setPrioritiser(java.net.URI id,
                           nextgrid.api.env.Prioritiser prioritiser)
Sets the prioritiser associated to a given URI.

Specified by:
setPrioritiser in interface nextgrid.api.env.ProcessEnvironment
Parameters:
id - A process id
prioritiser - A prioritiser instance

setDefaultPrioritiser

public void setDefaultPrioritiser(nextgrid.api.env.Prioritiser prioritiser)
Sets the prioritiser instance associated to all processes without an explicit one.

Specified by:
setDefaultPrioritiser in interface nextgrid.api.env.ProcessEnvironment
Parameters:
prioritiser - A prioritiser instance

setSelectorFor

public void setSelectorFor(java.net.URI id,
                           nextgrid.api.env.ProcessSelector selector)
Sets the selector associated to a given URI.

Specified by:
setSelectorFor in interface nextgrid.api.env.ProcessEnvironment
Parameters:
id - A process id
selector - A selector instance

setDefaultSelector

public void setDefaultSelector(nextgrid.api.env.ProcessSelector selector)
Sets the selector instance associated to all processes without an explicit one.

Specified by:
setDefaultSelector in interface nextgrid.api.env.ProcessEnvironment
Parameters:
selector - A selector instance

getSTSModule

public nextgrid.api.env.STSModule getSTSModule()

Specified by:
getSTSModule in interface nextgrid.api.env.ProcessEnvironment

setSTSModule

public void setSTSModule(nextgrid.api.env.STSModule stsmod)

Specified by:
setSTSModule in interface nextgrid.api.env.ProcessEnvironment

setComponentFor

public void setComponentFor(java.net.URI id,
                            java.lang.Object obj)
Sets a component that could potentially implement several interfaces.

This method will register the object to all relevant interfaces it implements.

Specified by:
setComponentFor in interface nextgrid.api.env.ProcessEnvironment
Parameters:
id - The process URI to associate the component to
obj - The component instance

getAttribute

public java.io.Serializable getAttribute(java.lang.String id)

Specified by:
getAttribute in interface nextgrid.api.env.ProcessEnvironment

setAttribute

public void setAttribute(java.lang.String id,
                         java.io.Serializable value)

Specified by:
setAttribute in interface nextgrid.api.env.ProcessEnvironment

getAttributes

public java.util.Map<java.lang.String,java.io.Serializable> getAttributes()

Specified by:
getAttributes in interface nextgrid.api.env.ProcessEnvironment

addListenersFor

public void addListenersFor(java.net.URI id,
                            nextgrid.api.pem.POMListener... listeners)
Adds one or more listeners to a given process.

Specified by:
addListenersFor in interface nextgrid.api.env.ProcessEnvironment
Parameters:
id - The id of the Process to attach these listeners to
listeners - The listeners to attach

removeListenersFrom

public void removeListenersFrom(java.net.URI id,
                                nextgrid.api.pem.POMListener... listeners)
Removes one or more listeners from the attachment map.

Specified by:
removeListenersFrom in interface nextgrid.api.env.ProcessEnvironment
Parameters:
id - The id of the Process to detach these listeners from
listeners - The listeners to detach

clearListeners

public void clearListeners()
Clears all listeners registered in this environment instance.

Specified by:
clearListeners in interface nextgrid.api.env.ProcessEnvironment

clearListenersFor

public void clearListenersFor(java.net.URI id)
Clears all listeners registered for a given Process in this environment instance.

Specified by:
clearListenersFor in interface nextgrid.api.env.ProcessEnvironment
Parameters:
id - The id of the Process

getListenersFor

public java.util.Collection<nextgrid.api.pem.POMListener> getListenersFor(java.net.URI id)

Specified by:
getListenersFor in interface nextgrid.api.env.ProcessEnvironment

createWorkerThread

public com.gridsystems.nextgrid.api.pom.EnactionWorker createWorkerThread(Enactable enactable)
Creates a Thread that executes an Enactable instance taking care of exception handling.

Parameters:
enactable - The instance to execute
Returns:
A Thread wrapping the instance


Copyright © 2006-2008 Grid Systems, S.A.. All Rights Reserved.