package javax.slee;
/**
* This interface defines selection criteria for initial events for Services. The SLEE
* provides an implementation of this interface to an initial event selector
* method defined in an SBB abstract class.
*
* @see Sbb
*/
public interface InitialEventSelector {
/**
* Determine if the Activity Context has been selected for use in the convergence name.
* @return <code>true</code> if the Activity Context has been selected for use
* in the convergence name, <code>false</code> otherwise.
*/
public boolean isActivityContextSelected();
/**
* Set the selection criteria for the Activity Context convergence name variable.
* @param select flag indicating whether or not the Activity Context should be
* used in the convergence name.
*/
public void setActivityContextSelected(boolean select);
/**
* Determine if the Address Profile has been selected for use in the convergence name.
* <p>
* <i>Note:</i> an Address Profile will only be used in the construction of a convergence
* name if this method returns <code>true</code> and {@link #getAddress getAddress} returns
* a non-null value. If both of these conditions are true but no Address Profile with the
* specified Address is found in the Service's Address Profile Table, no convergence name
* is generated and the event is not an initial event for the Service.
*
* @return <code>true</code> if the Address Profile has been selected for use
* in the convergence name, <code>false</code> otherwise.
*/
public boolean isAddressProfileSelected();
/**
* Set the selection criteria for the Address Profile convergence name variable.
* @param select flag indicating whether or not the Address Profile should be
* used in the convergence name.
*/
public void setAddressProfileSelected(boolean select);
/**
* Determine if the Address has been selected for use in the convergence name.
* <p>
* <i>Note:</i> Addresses will only be used during the construction of a convergence name
* if this method returns <code>true</code> and {@link #getAddress getAddress} returns a
* non-null value.
* @return <code>true</code> if the Address has been selected for use
* in the convergence name, <code>false</code> otherwise.
*/
public boolean isAddressSelected();
/**
* Set the selection criteria for the Address convergence name variable.
* @param select flag indicating whether or not the Address should be used in the
* convergence name.
*/
public void setAddressSelected(boolean select);
/**
* Determine if the event type has been selected for use in the convergence name.
* @return <code>true</code> if the event type has been selected for use
* in the convergence name, <code>false</code> otherwise.
*/
public boolean isEventTypeSelected();
/**
* Set the selection criteria for the event type convergence name variable.
* @param select flag indicating whether or not the event type should be
* used in the convergence name.
*/
public void setEventTypeSelected(boolean select);
/**
* Determine if the event has been selected for use in the convergence name.
* @return <code>true</code> if the event has been selected for use
* in the convergence name, <code>false</code> otherwise.
*/
public boolean isEventSelected();
/**
* Set the selection criteria for the event convergence name variable.
* @param select flag indicating whether or not the event should be
* used in the convergence name.
*/
public void setEventSelected(boolean select);
/**
* Get the name of the event under consideration by the event router. Event names are
* defined by the SBB component in its deployment descriptor.
* @return the name of the event.
*/
public String getEventName();
/**
* Get the event object for the event under consideration by the event router.
* @return the event object.
*/
public Object getEvent();
/**
* Get the activity for which the event was fired.
* @return the activity for which the event was fired.
*/
public Object getActivity();
/**
* Get the Address for the event. The initial value of this attribute is the
* default Address the event was fired on.
* @return the Address for the event.
*/
public Address getAddress();
/**
* Set the Address for the event. If the Address convergence name variable has
* been selected for use in the convergence name, this method can be used to
* change the event Address if the default event Address is unsuitable.
* @param address the Address for the event.
*/
public void setAddress(Address address);
/**
* Get the custom name set for the event. The default value of the custom name is
* <code>null</code>. A custom name is only used in the construction of a convergence
* name if it is non-null.
* @return the custom name for the event.
*/
public String getCustomName();
/**
* Set the custom name for the event.
* @param name the custom name for the event,
*/
public void setCustomName(String name);
/**
* Determine if the event under consideration by the event router is an initial
* event for the Service. The default value for this attribute is <code>true</code>.
* @return <code>true</code> if the event under consideration is an initial event
* <code>false</code> otherwise.
*/
public boolean isInitialEvent();
/**
* Set the initial event flag for the event under consideration by the event router.
* If set to <code>false</code> the event is not an initial event and the event
* router performs no further initial event processing for the Service.
* @param initial whether or not further initial event processing should take place
* for this event.
*/
public void setInitialEvent(boolean initial);
}