001    /**
002     *
003     * Copyright 2003-2004 The Apache Software Foundation
004     *
005     *  Licensed under the Apache License, Version 2.0 (the "License");
006     *  you may not use this file except in compliance with the License.
007     *  You may obtain a copy of the License at
008     *
009     *     http://www.apache.org/licenses/LICENSE-2.0
010     *
011     *  Unless required by applicable law or agreed to in writing, software
012     *  distributed under the License is distributed on an "AS IS" BASIS,
013     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     *  See the License for the specific language governing permissions and
015     *  limitations under the License.
016     */
017    
018    //
019    // This source code implements specifications defined by the Java
020    // Community Process. In order to remain compliant with the specification
021    // DO NOT add / change / or delete method signatures!
022    //
023    package javax.xml.registry;
024    
025    import java.util.Collection;
026    import java.util.Locale;
027    import javax.activation.DataHandler;
028    import javax.xml.registry.infomodel.Association;
029    import javax.xml.registry.infomodel.Classification;
030    import javax.xml.registry.infomodel.ClassificationScheme;
031    import javax.xml.registry.infomodel.Concept;
032    import javax.xml.registry.infomodel.EmailAddress;
033    import javax.xml.registry.infomodel.ExternalIdentifier;
034    import javax.xml.registry.infomodel.ExternalLink;
035    import javax.xml.registry.infomodel.ExtrinsicObject;
036    import javax.xml.registry.infomodel.InternationalString;
037    import javax.xml.registry.infomodel.Key;
038    import javax.xml.registry.infomodel.LocalizedString;
039    import javax.xml.registry.infomodel.Organization;
040    import javax.xml.registry.infomodel.PersonName;
041    import javax.xml.registry.infomodel.PostalAddress;
042    import javax.xml.registry.infomodel.RegistryObject;
043    import javax.xml.registry.infomodel.RegistryPackage;
044    import javax.xml.registry.infomodel.Service;
045    import javax.xml.registry.infomodel.ServiceBinding;
046    import javax.xml.registry.infomodel.Slot;
047    import javax.xml.registry.infomodel.SpecificationLink;
048    import javax.xml.registry.infomodel.TelephoneNumber;
049    import javax.xml.registry.infomodel.User;
050    
051    /**
052     * @version $Revision$ $Date$
053     */
054    public interface LifeCycleManager {
055        public static final String ASSOCIATION = "Association";
056        public static final String AUDITABLE_EVENT = "AuditableEvent";
057        public static final String CLASSIFICATION = "Classification";
058        public static final String CLASSIFICATION_SCHEME = "ClassificationScheme";
059        public static final String CONCEPT = "Concept";
060        public static final String EMAIL_ADDRESS = "EmailAddress";
061        public static final String EXTERNAL_IDENTIFIER = "ExternalIdentifier";
062        public static final String EXTERNAL_LINK = "ExternalLink";
063        public static final String EXTRINSIC_OBJECT = "ExtrinsicObject";
064        public static final String INTERNATIONAL_STRING = "InternationalString";
065        public static final String KEY = "Key";
066        public static final String LOCALIZED_STRING = "LocalizedString";
067        public static final String ORGANIZATION = "Organization";
068        public static final String PERSON_NAME = "PersonName";
069        public static final String POSTAL_ADDRESS = "PostalAddress";
070        public static final String REGISTRY_ENTRY = "RegistryEntry";
071        public static final String REGISTRY_PACKAGE = "RegistryPackage";
072        public static final String SERVICE = "Service";
073        public static final String SERVICE_BINDING = "ServiceBinding";
074        public static final String SLOT = "Slot";
075        public static final String SPECIFICATION_LINK = "SpecificationLink";
076        public static final String TELEPHONE_NUMBER = "TelephoneNumber";
077        public static final String USER = "User";
078        public static final String VERSIONABLE = "Versionable";
079    
080        Association createAssociation(RegistryObject targetObject, Concept associationType) throws JAXRException;
081    
082        Classification createClassification(ClassificationScheme scheme, InternationalString name, String value) throws JAXRException;
083    
084        Classification createClassification(ClassificationScheme scheme, String name, String value) throws JAXRException;
085    
086        Classification createClassification(Concept concept) throws JAXRException, InvalidRequestException;
087    
088        ClassificationScheme createClassificationScheme(Concept concept) throws JAXRException, InvalidRequestException;
089    
090        ClassificationScheme createClassificationScheme(InternationalString name, InternationalString description) throws JAXRException, InvalidRequestException;
091    
092        ClassificationScheme createClassificationScheme(String name, String description) throws JAXRException, InvalidRequestException;
093    
094        Concept createConcept(RegistryObject parent, InternationalString name, String value) throws JAXRException;
095    
096        Concept createConcept(RegistryObject parent, String name, String value) throws JAXRException;
097    
098        EmailAddress createEmailAddress(String address) throws JAXRException;
099    
100        EmailAddress createEmailAddress(String address, String type) throws JAXRException;
101    
102        ExternalIdentifier createExternalIdentifier(ClassificationScheme identificationScheme, InternationalString name, String value) throws JAXRException;
103    
104        ExternalIdentifier createExternalIdentifier(ClassificationScheme identificationScheme, String name, String value) throws JAXRException;
105    
106        ExternalLink createExternalLink(String externalURI, InternationalString description) throws JAXRException;
107    
108        ExternalLink createExternalLink(String externalURI, String description) throws JAXRException;
109    
110        ExtrinsicObject createExtrinsicObject(DataHandler repositoryItem) throws JAXRException;
111    
112        InternationalString createInternationalString() throws JAXRException;
113    
114        InternationalString createInternationalString(Locale locale, String value) throws JAXRException;
115    
116        InternationalString createInternationalString(String value) throws JAXRException;
117    
118        Key createKey(String id) throws JAXRException;
119    
120        LocalizedString createLocalizedString(Locale locale, String value) throws JAXRException;
121    
122        LocalizedString createLocalizedString(Locale locale, String value, String chatsetName) throws JAXRException;
123    
124        Object createObject(String interfaceName) throws JAXRException, InvalidRequestException, UnsupportedCapabilityException;
125    
126        Organization createOrganization(InternationalString name) throws JAXRException;
127    
128        Organization createOrganization(String name) throws JAXRException;
129    
130        PersonName createPersonName(String fullName) throws JAXRException;
131    
132        PersonName createPersonName(String firstName, String middleName, String lastName) throws JAXRException;
133    
134        PostalAddress createPostalAddress(String streetNumber, String street, String city, String stateOrProvince, String country, String postalCode, String type) throws JAXRException;
135    
136        RegistryPackage createRegistryPackage(InternationalString name) throws JAXRException;
137    
138        RegistryPackage createRegistryPackage(String name) throws JAXRException;
139    
140        Service createService(InternationalString name) throws JAXRException;
141    
142        Service createService(String name) throws JAXRException;
143    
144        ServiceBinding createServiceBinding() throws JAXRException;
145    
146        Slot createSlot(String name, Collection values, String slotType) throws JAXRException;
147    
148        Slot createSlot(String name, String value, String slotType) throws JAXRException;
149    
150        SpecificationLink createSpecificationLink() throws JAXRException;
151    
152        TelephoneNumber createTelephoneNumber() throws JAXRException;
153    
154        User createUser() throws JAXRException;
155    
156        BulkResponse deleteObjects(Collection keys) throws JAXRException;
157    
158        BulkResponse deleteObjects(Collection keys, String objectType) throws JAXRException;
159    
160        BulkResponse deprecateObjects(Collection keys) throws JAXRException;
161    
162        RegistryService getRegistryService() throws JAXRException;
163    
164        BulkResponse saveObjects(Collection objects) throws JAXRException;
165    
166        BulkResponse unDeprecateObjects(Collection keys) throws JAXRException;
167    }