package com.arjuna.webservices11.wsat.processors; import com.arjuna.webservices.SoapFault; import com.arjuna.webservices11.wsarj.ArjunaContext; import com.arjuna.wst.Vote; import com.arjuna.wst11.CompletionCoordinatorParticipant; import org.jboss.ws.api.addressing.MAP; import org.oasis_open.docs.ws_tx.wsat._2006._06.Notification; /** * The Completion Coordinator processor. * @author kevin */ public abstract class CompletionCoordinatorRPCProcessor { /** * The coordinator processor. */ private static CompletionCoordinatorRPCProcessor PROCESSOR ; /** * Get the processor. * @return The processor. */ public static synchronized CompletionCoordinatorRPCProcessor getProcessor() { return PROCESSOR; } /** * Set the processor. * @param processor The processor. * @return The previous processor. */ public static synchronized CompletionCoordinatorRPCProcessor setProcessor(final CompletionCoordinatorRPCProcessor processor) { final CompletionCoordinatorRPCProcessor origProcessor = PROCESSOR; PROCESSOR = processor ; return origProcessor ; } /** * Activate the participant. * @param participant The participant. * @param identifier The identifier. */ public abstract void activateParticipant(final CompletionCoordinatorParticipant participant, final String identifier) ; /** * Deactivate the participant. * @param participant The participant. */ public abstract void deactivateParticipant(final CompletionCoordinatorParticipant participant) ; /** * Commit. * @param commit The commit notification. * @param map The addressing context. * @param arjunaContext The arjuna context. */ public abstract boolean commit(final Notification commit, final MAP map, final ArjunaContext arjunaContext); /** * Rollback. * @param rollback The rollback notification. * @param map The addressing context. * @param arjunaContext The arjuna context. */ public abstract boolean rollback(final Notification rollback, final MAP map, final ArjunaContext arjunaContext); }