001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.webservice.metafacades;
006
007import java.util.Collection;
008import org.andromda.metafacades.uml.PackageFacade;
009
010/**
011 * TODO: Model Documentation for WebServicePackage
012 *
013 * Metafacade interface to be used by AndroMDA cartridges.
014 */
015public interface WebServicePackage
016    extends PackageFacade
017{
018    /**
019     * Indicates the metafacade type (used for metafacade mappings).
020     *
021     * @return boolean always <code>true</code>
022     */
023    public boolean isWebServicePackageMetaType();
024
025    /**
026     * Represents an operation on a web service.
027     * @return Collection<WebServiceOperation>
028     */
029    public Collection<WebServiceOperation> getAllowedOperations();
030
031    /**
032     * TODO: Model Documentation for
033     * WebServicePackage.attributeFormDefault
034     * @return String
035     */
036    public String getAttributeFormDefault();
037
038    /**
039     * TODO: Model Documentation for
040     * WebServicePackage.elementFormDefault
041     * @return String
042     */
043    public String getElementFormDefault();
044
045    /**
046     * TODO: Model Documentation for
047     * WebServicePackage.namespace
048     * @return String
049     */
050    public String getNamespace();
051
052    /**
053     * Package Abbreviation
054     * @return String
055     */
056    public String getPackageAbbr();
057
058    /**
059     * Packages referenced by this package, optionally following the inheritance hierarchy.
060     * @return Collection<WebServicePackage>
061     */
062    public Collection<WebServicePackage> getPackageReferences();
063
064    /**
065     * TODO: Model Documentation for
066     * WebServicePackage.getPackageReferences
067     * @param follow boolean
068     * @return Collection
069     */
070    public Collection getPackageReferences(boolean follow);
071
072    /**
073     * Creates a list of referenced packages, following the inheritance hierarchy.
074     * @return Collection<WebServicePackage>
075     */
076    public Collection<WebServicePackage> getPackages();
077
078    /**
079     * Get the schema location for the generated schema file. By default this is the service package
080     * name, without the leading http://, with all namespace customizations replaced by '.', in the
081     * xsd/ directory beneath the wsdl directory:
082     * xsd/${service.package.namespace.substring(7).replaceAll('/','.')}xsd
083     * @return String
084     */
085    public String getSchemaLocation();
086
087    /**
088     * If this package contains XML elements referenced by other packages that are used by any
089     * webservices, if using CXF/JAX-WS and schemas are imported.
090     * @return boolean
091     */
092    public boolean isMissingXmlSchema();
093}