package com.arjuna.webservices11.wsat.processors; import com.arjuna.webservices11.wsat.CoordinatorInboundEvents; import com.arjuna.webservices11.wsarj.ArjunaContext; import org.jboss.ws.api.addressing.MAP; import com.arjuna.webservices.SoapFault; import org.oasis_open.docs.ws_tx.wsat._2006._06.Notification; /** * The Coordinator processor. * @author kevin */ public abstract class CoordinatorProcessor { /** * The coordinator processor. */ private static CoordinatorProcessor PROCESSOR ; /** * Get the processor singleton. * @return The singleton. */ public static synchronized CoordinatorProcessor getProcessor() { return PROCESSOR; } /** * Set the processor singleton. * @param processor The processor. * @return The previous singleton. */ public static synchronized CoordinatorProcessor setProcessor(final CoordinatorProcessor processor) { final CoordinatorProcessor origProcessor = PROCESSOR; PROCESSOR = processor ; return origProcessor ; } /** * Activate the coordinator. * @param coordinator The coordinator. * @param identifier The identifier. */ public abstract void activateCoordinator(final CoordinatorInboundEvents coordinator, final String identifier) ; /** * Deactivate the coordinator. * @param coordinator The coordinator. */ public abstract void deactivateCoordinator(final CoordinatorInboundEvents coordinator) ; /** * Fetch the coordinator with a given identifier. * @param identifier The identifier. */ public abstract CoordinatorInboundEvents getCoordinator(final String identifier) ; /** * Aborted. * @param aborted The aborted notification. * @param map The addressing context. * @param arjunaContext The arjuna context. */ public abstract void aborted(final Notification aborted, final MAP map, final ArjunaContext arjunaContext) ; /** * Committed. * @param committed The committed notification. * @param map The addressing context. * @param arjunaContext The arjuna context. */ public abstract void committed(final Notification committed, final MAP map, final ArjunaContext arjunaContext) ; /** * Prepared. * @param prepared The prepared notification. * @param map The addressing context. * @param arjunaContext The arjuna context. */ public abstract void prepared(final Notification prepared, final MAP map, final ArjunaContext arjunaContext) ; /** * Read only. * @param readOnly The read only notification. * @param map The addressing context. * @param arjunaContext The arjuna context. */ public abstract void readOnly(final Notification readOnly, final MAP map, final ArjunaContext arjunaContext) ; /** * SOAP fault. * @param soapFault The SOAP fault. * @param addressingContext The addressing context. * @param arjunaContext The arjuna context. */ public abstract void soapFault(final SoapFault soapFault, final MAP addressingContext, final ArjunaContext arjunaContext) ; }