All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ccsds.moims.mo.common.directory.provider.DirectoryHandler Maven / Gradle / Ivy

package org.ccsds.moims.mo.common.directory.provider;

/**
 * Interface that providers of the Directory service must implement to handle 
 * the operations of that service. 
 */
public interface DirectoryHandler {

    /**
     * Implements the operation lookupProvider.
     * 
     * @param filter The filter field shall define the lookup query and be used 
     * to match details previously published using the publishProvider operation, 
     * the specifics of the ServiceFilter fields are defined in the following 
     * requirements. 
     * If the serviceProviderId field is NULL then all service provider identifiers 
     * shall be matched. 
     * If the final identifier of the domain field of the filter is the wildcard 
     * "*", then all sub-domains shall be searched for matches. See 
     * R[2] section 3.5.6.5.g. 
     * If the wildcard is used in any other part of the domain other than the 
     * final one then an INVALID error shall be returned. 
     * If the domain field is NULL then all domains shall be matched. 
     * If the network field is NULL then all networks shall be matched. 
     * If the sessionType field is NULL then all session types shall be matched. 
     * If the sessionName field is NULL then all session names shall be matched. 
     * The serviceKey field shall be used to match against ServiceKey fields held 
     * in the PublishDetails used to publish a specific provider. 
     * If the serviceKey field is NULL then all areas, services and versions shall 
     * be matched. 
     * If the area field is the wildcard "0" then all areas names shall 
     * be matched. 
     * If the service field is the wildcard "0" then all services shall 
     * be matched. 
     * If the version field is the wildcard "0" then all area versions 
     * shall be matched. 
     * If the requiredCapabilitySets field is NULL or an empty list then all service 
     * capability sets shall be matched. 
     * @param interaction The MAL object representing the interaction in the provider. 
     * @return The return value of the operation.
     * @throws org.ccsds.moims.mo.mal.MALInteractionException if there is a problem 
     * during the interaction as defined by the MAL specification. 
     * @throws org.ccsds.moims.mo.mal.MALException if there is an implementation 
     * exception. 
     */
    org.ccsds.moims.mo.common.directory.structures.ProviderSummaryList lookupProvider(org.ccsds.moims.mo.common.directory.structures.ServiceFilter filter,
            org.ccsds.moims.mo.mal.provider.MALInteraction interaction) throws org.ccsds.moims.mo.mal.MALInteractionException, org.ccsds.moims.mo.mal.MALException;
    /**
     * Implements the operation publishProvider.
     * 
     * @param newProviderDetails The newProviderDetails field shall hold the provider 
     * details of the service to be added or updated in the directory service. 
     * If any of the fields of the newProviderDetails domain/sessionName/network 
     * fields are either empty or contain the wildcard "*" an INVALID 
     * error shall be returned. 
     * If the providerId field of the PublishDetails structure is empty or contains 
     * the wildcard "*" an INVALID error shall be returned. 
     * For each contained ServiceKey structure if the area/service/version fields 
     * contain "0" then an INVALID error shall be returned. 
     * For each contained supportedCapabilitySets list if the list is empty or 
     * contains "0" then an INVALID error shall be returned. 
     * If the supportedLevels list is empty or the priorityLevels field is "0" 
     * for each contained AddressDetails structure found either within the ProviderDetails 
     * or the inner ServiceCapability structures then an INVALID error shall be 
     * returned. 
     * If an error is being returned then no changes shall be made. 
     * @param interaction The MAL object representing the interaction in the provider. 
     * @return The return value of the operation.
     * @throws org.ccsds.moims.mo.mal.MALInteractionException if there is a problem 
     * during the interaction as defined by the MAL specification. 
     * @throws org.ccsds.moims.mo.mal.MALException if there is an implementation 
     * exception. 
     */
    org.ccsds.moims.mo.common.directory.body.PublishProviderResponse publishProvider(org.ccsds.moims.mo.common.directory.structures.PublishDetails newProviderDetails,
            org.ccsds.moims.mo.mal.provider.MALInteraction interaction) throws org.ccsds.moims.mo.mal.MALInteractionException, org.ccsds.moims.mo.mal.MALException;
    /**
     * Implements the operation withdrawProvider.
     * 
     * @param providerObjId The providerObjId field shall hold the object instance 
     * identifier for the ServiceProvider COM object to remove from the directory 
     * service. 
     * If the supplied identifier is "0" an INVALID error shall be returned. 
     * If the supplied identifier does not match an existing ServiceProvider COM 
     * object then an UNKNOWN error shall be returned. 
     * If an error is being returned then no changes shall be made. 
     * The matched provider shall be removed from the directory service. 
     * @param interaction The MAL object representing the interaction in the provider. 
     * @throws org.ccsds.moims.mo.mal.MALInteractionException if there is a problem 
     * during the interaction as defined by the MAL specification. 
     * @throws org.ccsds.moims.mo.mal.MALException if there is an implementation 
     * exception. 
     */
    void withdrawProvider(Long providerObjId,
            org.ccsds.moims.mo.mal.provider.MALInteraction interaction) throws org.ccsds.moims.mo.mal.MALInteractionException, org.ccsds.moims.mo.mal.MALException;
    /**
     * Implements the operation getServiceXML.
     * 
     * @param providerObjId The providerObjId field shall hold the COM object 
     * instance identifier for the ServiceProvider to obtain the service XML for. 
     * If the supplied instance identifier is "0" an INVALID error shall 
     * be returned. 
     * If the supplied identifier does not match an existing ServiceProvider COM 
     * object then an UNKNOWN error shall be returned. 
     * @param interaction The MAL object representing the interaction in the provider. 
     * @return The return value of the operation.
     * @throws org.ccsds.moims.mo.mal.MALInteractionException if there is a problem 
     * during the interaction as defined by the MAL specification. 
     * @throws org.ccsds.moims.mo.mal.MALException if there is an implementation 
     * exception. 
     */
    org.ccsds.moims.mo.mal.structures.FileList getServiceXML(Long providerObjId,
            org.ccsds.moims.mo.mal.provider.MALInteraction interaction) throws org.ccsds.moims.mo.mal.MALInteractionException, org.ccsds.moims.mo.mal.MALException;
    /**
     * Sets the skeleton to be used for creation of publishers.
     * 
     * @param skeleton The skeleton to be used.
     */
    void setSkeleton(org.ccsds.moims.mo.common.directory.provider.DirectorySkeleton skeleton);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy