/*
* Created on Jul 8, 2004
*
* The Open SLEE project
*
* The source code contained in this file is in in the public domain.
* It can be used in any project or product without prior permission,
* license or royalty payments. There is no claim of correctness and
* NO WARRANTY OF ANY KIND provided with this code.
*
*/
package org.mobicents.slee.runtime.activity;
import java.util.Set;
import javax.slee.resource.ActivityAlreadyExistsException;
/**
* Activity context factory implementation interface.
*
* @author F.Moggia
* @author Eduardo Martins
*
*/
public interface ActivityContextFactory {
/**
* Retrieves the {@link ActivityContext} for the specified {@link ActivityContextHandle}.
* @param ach
* @return null if no such activity context exists
*/
public ActivityContext getActivityContext(ActivityContextHandle ach);
/**
* Removes the {@link ActivityContext} for the specified {@link ActivityContextHandle}.
* @param ac
*/
public void removeActivityContext(ActivityContext ac);
/**
* Convenience method which results in invoking createActivityContext(ach,ActivityFlags.NO_FLAGS)
* @param activityContext
* @throws ActivityAlreadyExistsException
*/
public ActivityContext createActivityContext(ActivityContextHandle ach) throws ActivityAlreadyExistsException;
/**
*
* @param activityContext
* @param activityFlags
* @throws ActivityAlreadyExistsException
*/
public ActivityContext createActivityContext(ActivityContextHandle ach, int activityFlags) throws ActivityAlreadyExistsException;
/**
* @return Set of all registered SLEE activity context handles
*/
public Set<ActivityContextHandle> getAllActivityContextsHandles();
}