org.eclipse.hyades.logging.events.cbe
Interface EventFactoryHome

All Known Implementing Classes:
AbstractEventFactoryHome

public interface EventFactoryHome

Event factory home for retrieving event factories.

EventFactoryHome instances provide resolution of named EventFactory instances, configuration updates based on a specific type of configuration template for the EventFactory instances and releasing cached named EventFactory instances.

EventFactoryHome instances also provide an anonymous EventFactory for retrieving an unnamed EventFactory for component independent event creation. The anonymous EventFactory may be retrieved and potentially updated based on a specific type of configuration template for the EventFactory instances, if one exists for unnamed EventFactory instances. Note, the anonymous EventFactory instance cannot be released once created.

Since:
1.0.1
Version:
1.0.1
Author:
Paul E Slauenwhite
See Also:
EventFactory

Method Summary
 void checkAccess()
          Deprecated. As of Hyades M10, Java permission-based security is no longer supported.
 EventFactory getAnonymousEventFactory()
          Retrieves an instance of the anonymous EventFactory.
 EventFactory getEventFactory(java.lang.String factoryName)
          Retrieves an instance of the named EventFactory.
 void releaseEventFactory(java.lang.String factoryName)
          Releases the reference to the instance of the named EventFactory.
 void updateAnonymousEventFactory()
          Updates the configuration on the instance of the anonymous EventFactory.
 void updateEventFactory(java.lang.String factoryName)
          Updates the configuration on the instance of the named EventFactory.
 

Method Detail

getAnonymousEventFactory

public EventFactory getAnonymousEventFactory()
Retrieves an instance of the anonymous EventFactory.

An instance of the anonymous EventFactory is created if the anonymous EventFactory instance currently does not exist.

Once the anonymous EventFactory is created, the instance is cached for future calls to retrieve the same anonymous EventFactory.

The anonymous EventFactory is used to for component independent event creation and is unnamed. The anonymous EventFactory may be assigned a ContentHandler for configuration updates based on a specific type of configuration template for the EventFactory instances, if one exists for unnamed EventFactory instances.

Returns:
The retrieved or newly created anonymous EventFactory.

getEventFactory

public EventFactory getEventFactory(java.lang.String factoryName)
Retrieves an instance of the named EventFactory.

An instance of a named EventFactory is created if no named instance current exists or a named instance is released.

Once a named EventFactory is created, the instance is cached for future calls to retrieve the same named EventFactory.

The name of the EventFactory uniquely identifies an instance of an EventFactory. All subsequent calls will return the same instance of the named EventFactory.

EventFactory names are hierarchal represented using the standard Java dot-delimited name-space naming conventions.

Passing a null EventFactory name parameter in will be equivalent to calling the getAnonymousEventFactory() API.

Parameters:
factoryName - The name of the EventFactory.
Returns:
The retrieved or newly created EventFactory.

updateAnonymousEventFactory

public void updateAnonymousEventFactory()
Updates the configuration on the instance of the anonymous EventFactory.

If the EventFactoryHome instance does not support ContentHandler s for unnamed EventFactory instances, no update occurs.

The anonymous EventFactory is used to for component independent event creation and is unnamed. The anonymous EventFactory may be assigned a ContentHandler for configuration updates based on a specific type of configuration template for the EventFactory instances, if one exists for unnamed EventFactory instances.


updateEventFactory

public void updateEventFactory(java.lang.String factoryName)
Updates the configuration on the instance of the named EventFactory.

If no named EventFactory instance exists, no update occurs.

The name of the EventFactory uniquely identifies an instance of an EventFactory. All calls will update the configuration on the same named instance of the EventFactory.

EventFactory names are hierarchal represented using the standard Java dot-delimited name-space naming conventions.

Passing a null EventFactory name parameter in will be equivalent to calling the updateAnonymousEventFactory() API.

Passing an empty string (e.g. "") with or without white space or a single asterisk (e.g. *) as the name parameter updates the configuration on all cached EventFactory instances.

Parameters:
factoryName - The name of the EventFactory.

releaseEventFactory

public void releaseEventFactory(java.lang.String factoryName)
Releases the reference to the instance of the named EventFactory.

If no named EventFactory instance exists, no release occurs.

The name of the EventFactory uniquely identifies an instance of an EventFactory.

EventFactory names are hierarchal represented using the standard Java dot-delimited name-space naming conventions.

Passing an empty string (e.g. "") with or without white space or a single asterisk (e.g. *) as the name parameter releases all cached EventFactory instances.

Parameters:
factoryName - The name of the EventFactory.

checkAccess

public void checkAccess()
                 throws java.lang.SecurityException
Deprecated. As of Hyades M10, Java permission-based security is no longer supported.

Checks the system's SecurityManager for the context of the currently executing thread to see if the caller has permission to create, retrieve, update and release Event Factory instances from the Event Factory Home. The caller has permission if the EventPermission("factory") permission has been explicitly granted to the caller.

If the caller has been granted permission the method quietly returns. Otherwise, the method throws a SecurityException.

Throws:
java.lang.SecurityException - If the SecurityManager exists and if the caller does not have permission (e.g. EventPermission("factory")).