edu.uci.isr.yancees
Class YanceesFacade

java.lang.Object
  extended byedu.uci.isr.yancees.YanceesFacade

public class YanceesFacade
extends java.lang.Object

This class centralized all aspects of yancees: 1) The unique connection to the dispatcher (siena, elvin or other) 2) The access to the specific Facades (publication, subscription, administration), configuring them as necessary 3) The parsing of files in Notification, Subscription and Message wrappers Local users should use this class as the front-end to Yancees notification server Remote users should use the RemoteYanceesInterface. This last interface is most likely to be the preferred one.


Field Summary
static boolean PERFORM_XML_VALIDATION
           
static boolean PRINT_DEBUG
           
static int PS_BUFFER_FLUSH_PERIOD
           
static int PS_BUFFER_SIZE
           
 
Constructor Summary
protected YanceesFacade()
          This constructor, as protected, prevents the direct instantiation of this object, and guarantees the singleton characteristic of this class.
 
Method Summary
 void bootstrap(java.io.File configFile)
          Initialize the client API using the provided configuration file.
protected  void finalize()
          Automatically called when the object is destroyed, this method disposes all the resources alocated by the server, closing all the connections to the dispatcher in use, saving all data and finalyzing all the plug-ins and so on.
static YanceesFacade getInstance()
          The only way to access the unique instance of Yancees is by using this access method.
 ProtocolFacade getProtocolAPI()
          Get access to the internal protocolAPI and initializes this component if necessary
 PublicationFacade getPublisherAPI()
          Get access to the internal publisher API and initializes this component if necessary
 SubscriptionFacade getSubscriberAPI()
          Gets access to the internal subscriber API and initializes this component if necessary
 void initialize()
          Initializes the system using the default configuration.
static GenericEvent parseEvent(java.io.File eventFile)
          Allows users to easity parse their XML events before sending to the APIs
static GenericMessage parseMessage(java.io.File messageFile)
          Allows users to easity parse their XML messages before sending to the APIs
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PRINT_DEBUG

public static boolean PRINT_DEBUG

PERFORM_XML_VALIDATION

public static boolean PERFORM_XML_VALIDATION

PS_BUFFER_SIZE

public static int PS_BUFFER_SIZE

PS_BUFFER_FLUSH_PERIOD

public static int PS_BUFFER_FLUSH_PERIOD
Constructor Detail

YanceesFacade

protected YanceesFacade()
This constructor, as protected, prevents the direct instantiation of this object, and guarantees the singleton characteristic of this class. The protected modifyer allows this class to be subclassed, permiting the over- load of the constructor.

Method Detail

getInstance

public static YanceesFacade getInstance()
The only way to access the unique instance of Yancees is by using this access method.

Returns:
the instance of Yancess using the default configuration.

initialize

public void initialize()
Initializes the system using the default configuration. This method should be called before any other methods in this class.


bootstrap

public void bootstrap(java.io.File configFile)
               throws ParsingException
Initialize the client API using the provided configuration file. This method should be called before any other methods in this class.

Parameters:
configFile - is a file having the configuration for all the components of the system.
Throws:
ParsingException

finalize

protected void finalize()
                 throws java.lang.Throwable
Automatically called when the object is destroyed, this method disposes all the resources alocated by the server, closing all the connections to the dispatcher in use, saving all data and finalyzing all the plug-ins and so on.

Throws:
java.lang.Throwable

getProtocolAPI

public ProtocolFacade getProtocolAPI()
Get access to the internal protocolAPI and initializes this component if necessary

Returns:
the ServerPrococolFacade unique instance

getPublisherAPI

public PublicationFacade getPublisherAPI()
Get access to the internal publisher API and initializes this component if necessary

Returns:
the ServerPublicationFacade unique instance

getSubscriberAPI

public SubscriptionFacade getSubscriberAPI()
Gets access to the internal subscriber API and initializes this component if necessary

Returns:
the ServerSubscriptionFacade unique instance

parseMessage

public static GenericMessage parseMessage(java.io.File messageFile)
                                   throws ParsingException
Allows users to easity parse their XML messages before sending to the APIs

Parameters:
messageFile - is the file to be parsed
Returns:
a Message object with the parsed document or null in case of some error
Throws:
ParsingException - in case the tag is not present in the document

parseEvent

public static GenericEvent parseEvent(java.io.File eventFile)
                               throws ParsingException
Allows users to easity parse their XML events before sending to the APIs

Parameters:
eventFile - is the file to be parsed
Returns:
an Event object with the parsed document or null in case of some error
Throws:
ParsingException - in case the tag is not present in the document