com.arjuna.wsc11.Registrar Maven / Gradle / Ivy
package com.arjuna.wsc11;
import com.arjuna.webservices11.wsarj.InstanceIdentifier;
import com.arjuna.wsc.AlreadyRegisteredException;
import com.arjuna.wsc.InvalidProtocolException;
import com.arjuna.wsc.InvalidStateException;
import com.arjuna.wsc.NoActivityException;
import javax.xml.ws.wsaddressing.W3CEndpointReference;
public interface Registrar
{
/**
* Called when a registrar is added to a register mapper. This method will be called multiple times if the
* registrar is added to multiple register mappers or to the same register mapper with different protocol
* identifiers.
*
* @param protocolIdentifier the protocol identifier
*/
public void install(final String protocolIdentifier);
/**
* Registers the interest of participant in a particular protocol.
*
* @param participantProtocolService the port reference of the participant protocol service
* @param protocolIdentifier the protocol identifier
* @param instanceIdentifier the instance identifier, this may be null
*
* @return the port reference of the coordinator protocol service
*
* @throws com.arjuna.wsc.AlreadyRegisteredException if the participant is already registered for this coordination protocol under
* this activity identifier
* @throws com.arjuna.wsc.InvalidProtocolException if the coordination protocol is not supported
* @throws com.arjuna.wsc.InvalidStateException if the state of the coordinator no longer allows registration for this
* coordination protocol
* @throws com.arjuna.wsc.NoActivityException if the actvity does not exist
*/
public W3CEndpointReference register(final W3CEndpointReference participantProtocolService,
final String protocolIdentifier, final InstanceIdentifier instanceIdentifier,
final boolean isSecure)
throws AlreadyRegisteredException, InvalidProtocolException, InvalidStateException, NoActivityException;
/**
* Called when a registrar is removed from a register mapper. This method will be called multiple times if the
* registrar is removed from multiple register mappers or from the same register mapper with different protocol
* identifiers.
*
* @param protocolIdentifier the protocol identifier
*/
public void uninstall(final String protocolIdentifier);
}