001/*
002 * (C) Copyright 2006-2010 Nuxeo SA (http://nuxeo.com/) and others.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 *
016 * Contributors:
017 *     Thierry Delprat
018 */
019package org.nuxeo.apidoc.snapshot;
020
021import java.util.List;
022
023import org.nuxeo.apidoc.api.BundleGroup;
024import org.nuxeo.apidoc.api.BundleInfo;
025import org.nuxeo.apidoc.api.ComponentInfo;
026import org.nuxeo.apidoc.api.ExtensionInfo;
027import org.nuxeo.apidoc.api.ExtensionPointInfo;
028import org.nuxeo.apidoc.api.OperationInfo;
029import org.nuxeo.apidoc.api.SeamComponentInfo;
030import org.nuxeo.apidoc.api.ServiceInfo;
031import org.nuxeo.apidoc.documentation.JavaDocHelper;
032
033public interface DistributionSnapshot extends DistributionSnapshotDesc {
034
035    String TYPE_NAME = "NXDistribution";
036
037    String CONTAINER_TYPE_NAME = "Workspace";
038
039    String PROP_NAME = "nxdistribution:name";
040
041    String PROP_VERSION = "nxdistribution:version";
042
043    String PROP_KEY = "nxdistribution:key";
044
045    String getKey();
046
047    void cleanPreviousArtifacts();
048
049    List<BundleGroup> getBundleGroups();
050
051    BundleGroup getBundleGroup(String groupId);
052
053    List<String> getBundleIds();
054
055    BundleInfo getBundle(String id);
056
057    List<String> getComponentIds();
058
059    List<String> getJavaComponentIds();
060
061    List<String> getXmlComponentIds();
062
063    ComponentInfo getComponent(String id);
064
065    List<String> getServiceIds();
066
067    ServiceInfo getService(String id);
068
069    List<String> getExtensionPointIds();
070
071    ExtensionPointInfo getExtensionPoint(String id);
072
073    List<String> getContributionIds();
074
075    List<ExtensionInfo> getContributions();
076
077    ExtensionInfo getContribution(String id);
078
079    List<String> getBundleGroupChildren(String groupId);
080
081    List<Class<?>> getSpi();
082
083    List<String> getSeamComponentIds();
084
085    List<SeamComponentInfo> getSeamComponents();
086
087    SeamComponentInfo getSeamComponent(String id);
088
089    boolean containsSeamComponents();
090
091    OperationInfo getOperation(String id);
092
093    List<OperationInfo> getOperations();
094
095    JavaDocHelper getJavaDocHelper();
096}