edu.UCL.satin.arch.facets
Interface DeployerFacet

All Superinterfaces:
ComponentFacet, Facet
All Known Implementing Classes:
Deployer

public interface DeployerFacet
extends ComponentFacet

Represents a deployer. Contains methods to send synchronously and asynchronously LMUs. Note that it does not define methods on how to *request* LMUs. This is left to the implementation.

Author:
Stefanos Zachariadis

Field Summary
 
Fields inherited from interface edu.UCL.satin.arch.facets.ComponentFacet
DISABLED, ENABLED
 
Method Summary
 void addUbiquitousClass(java.lang.String classname)
          Denotes a class to be ubiquitous - This means that this class is assumed to be on all SATIN hosts and will not be sent by the deployer.
 void addUbiquitousPackage(java.lang.String packagename)
          Denotes that all classes in the given package (and all subpackages) are ubiquitous.
 void asyncSend(LMU lmu)
          Sends asynchronously the given LMU to a remote host.
 boolean send(LMU lmu)
          Sends the given LMU to a remote host.
 
Methods inherited from interface edu.UCL.satin.arch.facets.ComponentFacet
addAttribute, construct, destroy, getAttribute, getProperties, hasAttribute, isEnabled, setEnabled
 

Method Detail

send

public boolean send(LMU lmu)
Sends the given LMU to a remote host. The host is specified in the TARG attribute.

Parameters:
lmu - The LMU to be sent
Returns:
true if the operation was successful, false otherwise

asyncSend

public void asyncSend(LMU lmu)
Sends asynchronously the given LMU to a remote host. The host is specified in the TARG attribute. Note that no callback mechanism is currently provided for this operation.

Parameters:
lmu - The lmu to be sent

addUbiquitousClass

public void addUbiquitousClass(java.lang.String classname)
Denotes a class to be ubiquitous - This means that this class is assumed to be on all SATIN hosts and will not be sent by the deployer.

Parameters:
classname - The ubiquitous class.

addUbiquitousPackage

public void addUbiquitousPackage(java.lang.String packagename)
Denotes that all classes in the given package (and all subpackages) are ubiquitous. This means that all these classes are assumed to be on all SATIN hosts and will not be sent by the deployer.

Parameters:
packagename - The package with the ubituitous classes