javax.xml.registry.infomodel.ServiceBinding.java Source code

Java tutorial

Introduction

Here is the source code for javax.xml.registry.infomodel.ServiceBinding.java

Source

/*
* The contents of this file are subject to the terms 
* of the Common Development and Distribution License 
* (the License).  You may not use this file except in
* compliance with the License.
* 
* You can obtain a copy of the license at 
* https://glassfish.dev.java.net/public/CDDLv1.0.html or
* glassfish/bootstrap/legal/CDDLv1.0.txt.
* See the License for the specific language governing 
* permissions and limitations under the License.
* 
* When distributing Covered Code, include this CDDL 
* Header Notice in each file and include the License file 
* at glassfish/bootstrap/legal/CDDLv1.0.txt.  
* If applicable, add the following below the CDDL Header, 
* with the fields enclosed by brackets [] replaced by
* you own identifying information: 
* "Portions Copyrighted [year] [name of copyright owner]"
* 
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
*/

package javax.xml.registry.infomodel;

import javax.xml.registry.*;

import java.util.*;

/**
 * ServiceBinding instances are RegistryObjects that represent technical information on a specific way to access a specific interface offered by a Service instance. A ServiceBinding may have a set of SpecificationLink instances.
 * Maps to a BindingTemplate in UDDI.
 * 
 * @see Concept
 * @author Farrukh S. Najmi
 */
public interface ServiceBinding extends RegistryObject, URIValidator {

    /** 
     * Gets the URI that gives access to the service via this binding. 
     * Default is a NULL String. 
     *
     * <p><DL><DT><B>Capability Level: 0 </B></DL>     
     *
     * @return the URI that gives access to the service via this binding 
     * @throws JAXRException   If the JAXR provider encounters an internal error
     *
     * 
     */
    String getAccessURI() throws JAXRException;

    /** 
     * Sets the URI that gives access to the service via this binding.
     * The accessURI is mutually exclusive from targetBinding. JAXR Provider must
     * throw an InvalidRequestException if an accessURI is set when there is
     * already a non-null targetBinding defined.
     *
     * <p><DL><DT><B>Capability Level: 0 </B></DL>     
     *
     * @param uri   the URI that gives access to the service via this binding 
     * @throws JAXRException   If the JAXR provider encounters an internal error
     *
     */
    void setAccessURI(String uri) throws JAXRException;

    /** 
     * Gets the next ServiceBinding in case there is a redirection from
     * one service provider to another service provider.
     *
     * <p><DL><DT><B>Capability Level: 0 </B></DL>     
     *
     * @return the next ServiceBinding in case there is a service redirection
     * @throws JAXRException   If the JAXR provider encounters an internal error
     *
     */
    ServiceBinding getTargetBinding() throws JAXRException;

    /** 
    * Sets the next ServiceBinding in case there is a redirection.
     * The targetBinding is mutually exclusive from the accessURI. JAXR Provider must
     * throw an InvalidRequestExcpetion if a targetBinding is set when there is
     * already a non-null accessURI defined.
    *
    * <p><DL><DT><B>Capability Level: 0 </B></DL>     
    *
    * @param binding the target ServiceBinding to which this object is redirected to 
    * @throws JAXRException   If the JAXR provider encounters an internal error
    *
    */
    void setTargetBinding(ServiceBinding binding) throws JAXRException;

    /** 
     * Gets the parent service for which this is a binding. 
     *
     * <p><DL><DT><B>Capability Level: 0 </B></DL>     
     *
     * @return   the parent Service object 
     * @throws JAXRException   If the JAXR provider encounters an internal error
     *
     */
    Service getService() throws JAXRException;

    /**
     * @directed
     * @label targetBinding 
     */
    /*#ServiceBinding lnkServiceBinding;*/

    /** 
    * Adds a child SpecificationLink. 
    *
    * <p><DL><DT><B>Capability Level: 0 </B></DL>     
    *
    * @param specificationLink   the SpecificationLink being added
    * @throws JAXRException   If the JAXR provider encounters an internal error
    *
    */
    void addSpecificationLink(SpecificationLink specificationLink) throws JAXRException;

    /** 
    * Adds a Collection of SpecificationLink children. 
    *
    * <p><DL><DT><B>Capability Level: 0 </B></DL>     
    *
    * @param specificationLinks   the Collection of SpecificationLinks being added
    * @throws JAXRException   If the JAXR provider encounters an internal error
    *
    */
    void addSpecificationLinks(Collection specificationLinks) throws JAXRException;

    /** 
    * Removes a child SpecificationLink. 
    *
    * <p><DL><DT><B>Capability Level: 0 </B></DL>     
    *
    * @param specificationLink   the SpecificationLink being removed
    * @throws JAXRException   If the JAXR provider encounters an internal error
    *
    */
    void removeSpecificationLink(SpecificationLink specificationLink) throws JAXRException;

    /** 
    * Removes a Collection of children SpecificationLinks. 
    *
    * <p><DL><DT><B>Capability Level: 0 </B></DL>     
    *
    * @param specificationLinks   the Collection of SpecificationLinks being removed
    * @throws JAXRException   If the JAXR provider encounters an internal error
    *
    */
    void removeSpecificationLinks(Collection specificationLinks) throws JAXRException;

    /** 
     * Gets all children SpecificationLinks. 
     *
     * <p><DL><DT><B>Capability Level: 0 </B></DL>     
     *
     *
     * @see javax.xml.registry.infomodel.SpecificationLink
     * @return Collection of SpecificationLink instances. The Collection may be empty but not null.    
     * @throws JAXRException   If the JAXR provider encounters an internal error
     *
     *
     * @supplierCardinality 1..*
     * @associates <{javax.xml.registry.infomodel.SpecificationLink}>    
     * @link aggregationByValue
     */
    Collection getSpecificationLinks() throws JAXRException;

    /**
     * @link aggregationByValue
     * @supplierCardinality 1..* 
     */
    /*#SpecificationLink lnkFoo;*/
}