001    /*
002     * file CcRegistryRegion.java
003     * 
004     * Licensed Materials - Property of IBM
005     * Restricted Materials of IBM 
006     *
007     * com.ibm.rational.wvcm.stp.cc.CcRegistryRegion
008     *
009     * (C) Copyright IBM Corporation 2008, 2010.  All Rights Reserved.
010     * Note to U.S. Government Users Restricted Rights:  Use, duplication or 
011     * disclosure restricted by GSA ADP  Schedule Contract with IBM Corp.
012     */
013    
014    package com.ibm.rational.wvcm.stp.cc;
015    
016    import static com.ibm.rational.wvcm.stpex.StpExBase.PROPERTY_NAMESPACE;
017    
018    import javax.wvcm.ResourceList;
019    import javax.wvcm.WvcmException;
020    import javax.wvcm.PropertyNameList.PropertyName;
021    
022    /**
023     * <p>
024     * A proxy for a ClearCase registry region. 
025     * </p>
026     * <p>
027     * A registry region is a tag namespace shared by a subset of registry clients. 
028     * The Rational ClearCase registry supports only a single region. With the Rational ClearCase registry, 
029     * you can create multiple regions. VOB and view tags in a Rational ClearCase registry include the 
030     * name of the registry region in which the tag is visible. Each Rational ClearCase client is a 
031     * member of a single registry region and can access only those VOBs and views whose tags are 
032     * visible in that region.
033     * </p>
034     * <p>
035     * For more information about registry regions, see the ClearCase "Administrator's Guide"
036     * manual, and the cleartool man pages "lsregion" and "mkregion".
037     * </p>
038     */
039    
040    public interface CcRegistryRegion extends CcResource {
041    
042        /** 
043         * List of view storage locations in this registry region 
044         * as CcStorageLocation instances 
045         */
046        PropertyName<ResourceList<CcStorageLocation>> VIEW_STORAGE_LOCATION_LIST =
047            new PropertyName<ResourceList<CcStorageLocation>>(PROPERTY_NAMESPACE,
048                                                   "view-stgloc-list");
049        
050        /**
051         * Returns the value of this proxy's {@link #VIEW_STORAGE_LOCATION_LIST} property.
052         * 
053         * @return list of view storage locations registered in the region
054         * @throws WvcmException
055         *             if this proxy doesn't define a value for this property.
056         */
057        ResourceList<CcStorageLocation> getViewStorageLocationList() throws WvcmException;
058    
059        /** 
060         * List of VOB storage locations in this registry region 
061         * as CcStorageLocation instances 
062         */
063        PropertyName<ResourceList<CcStorageLocation>> VOB_STORAGE_LOCATION_LIST =
064            new PropertyName<ResourceList<CcStorageLocation>>(PROPERTY_NAMESPACE,
065                                                   "vob-stgloc-list");
066        
067        /**
068         * Returns the value of this proxy's {@link #VOB_STORAGE_LOCATION_LIST} property.
069         * 
070         * @return list of VOB storage locations registered in the region
071         * @throws WvcmException
072         *             if this proxy doesn't define a value for this property.
073         */
074        ResourceList<CcStorageLocation> getVobStorageLocationList() throws WvcmException;
075    
076        /** List of view tags in this registry region as CcViewTag instances */
077        PropertyName<ResourceList<CcViewTag>> VIEW_TAG_LIST =
078            new PropertyName<ResourceList<CcViewTag>>(PROPERTY_NAMESPACE,
079                                                      "view-tag-list");
080    
081        /**
082         * Returns the value of this proxy's {@link #VIEW_TAG_LIST} property.
083         * 
084         * @return list of view tags registered in the region
085         * @throws WvcmException
086         *             if this proxy doesn't define a value for this property.
087         */
088        ResourceList<CcViewTag> getViewTagList() throws WvcmException;
089        
090        /** List of VOB tags in this registry region as CcVobTag instances */
091        
092        PropertyName<ResourceList<CcVobTag>> VOB_TAG_LIST =
093            new PropertyName<ResourceList<CcVobTag>>(PROPERTY_NAMESPACE,
094                                                   "vob-tag-list");
095        
096        /**
097         * Returns the value of this proxy's {@link #VOB_TAG_LIST} property.
098         * 
099         * @return list of VOB tags registered in the region
100         * @throws WvcmException
101         *             if this proxy doesn't define a value for this property.
102         */
103        ResourceList<CcVobTag> getVobTagList() throws WvcmException;
104    }