org.ogf.graap.wsag.api
Interface AgreementFactory

All Known Subinterfaces:
IAgreementFactory, PersistentAgreementFactory, WsPersistentAgreementFactory
All Known Implementing Classes:
AbstractAgreementFactory, AbstractAgreementFactoryType, AbstractPersistentAgreementFactory, AgreementFactoryFacade, DatabasePersistentAgreementFactory, GenericAgreementFactory, SampleAgreementFactory, SimplePersistentAgreementFactory, WsDatabaseAgreementFactory

public interface AgreementFactory

This interface defines the operations of an AgreementFactory. Components can query the supported templates of a factory, initiate negotiation processes and create new agreements using this interface.

Author:
Oliver Waeldrich
See Also:
Agreement

Method Summary
 Agreement createAgreement(AgreementOffer offer)
          Creates a new agreement based on an offer.
 AgreementTemplateType[] getTemplates()
           
 Negotiation initiateNegotiation(NegotiationContextType context, org.apache.xmlbeans.XmlObject[] criticalExtensions, org.apache.xmlbeans.XmlObject[] nonCriticalExtensions, Map<String,Object> environment)
          Initializes a new negotiation instance.
 

Method Detail

getTemplates

AgreementTemplateType[] getTemplates()
Returns:
the agreement templates exposed by this factory

createAgreement

Agreement createAgreement(AgreementOffer offer)
                          throws AgreementFactoryException
Creates a new agreement based on an offer.

Parameters:
offer - agreement offer
Returns:
the created agreement instance
Throws:
AgreementFactoryException - Indicates that the agreement offer was rejected or another fault occurred.

initiateNegotiation

Negotiation initiateNegotiation(NegotiationContextType context,
                                org.apache.xmlbeans.XmlObject[] criticalExtensions,
                                org.apache.xmlbeans.XmlObject[] nonCriticalExtensions,
                                Map<String,Object> environment)
                                throws NegotiationFactoryException
Initializes a new negotiation instance. This method creates a new negotiation instance based on the provided negotiation context, taking into account the critical and non-critical extensions.

Parameters:
context - The negotiation context defines the roles and obligations of the negotiating parties. Furthermore, it defines the nature of the negotiation process (e.g. negotiation or re-negotiation).
criticalExtensions - Critical extensions must be supported during the negotiation process. If a critical extension is not understood or supported by the negotiation factory, it must throw an @see NegotiationFactoryException.
nonCriticalExtensions - Non-critical extensions should be supported during the negotiation process. If a non-critical extension is not understood or supported by the negotiation factory, it can be ignored. Alternatively, an @see NegotiationFactoryException could be thrown.
environment - Provides access to additional variables provided by the calling instance. These environment variables are domain specific.
Returns:
the new initiated negotiation instance
Throws:
NegotiationFactoryException - indicates that an error occurred while instantiating the negotiation process


Copyright © 2008-2012 Fraunhofer Institute SCAI. All Rights Reserved.