001    /*
002    * file CcProxyTypePrivilege.java
003    *
004    * Licensed Materials - Property of IBM
005    * Restricted Materials of IBM
006    * 
007    * com.ibm.rational.wvcm.stp.cc.CcProxyTypePrivilege
008    *
009    * (C) Copyright IBM Corporation 2012.  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    package com.ibm.rational.wvcm.stp.cc;
014    
015    import java.util.List;
016    
017    /**
018     * <p>
019     * A proxy type privilege provides a hierarchical mapping of ACL privilege categories and
020     * their individual privileges which can be associated with a specific proxy type.
021     * <p>
022     * These relationships are read-only and are determined by the server.  They cannot
023     * change within a given server session.
024     * <p>
025     * This interface provides an aggregate object for handling this data.
026     * </p>
027     */
028    public interface CcProxyTypePrivilege {
029    
030        /**
031         * Get the list of privilege categories (e.g. "Read", "Change", etc.)
032         * with entries in this tree.
033         */
034        public List<Category> getCategories();
035    
036        /**
037         * 
038         */
039        public interface Category {
040            /**
041             * Get the list of privileges belonging to this category
042             * (e.g. "read-info", "Delete", etc.).
043             */
044            public List<String> getPrivileges();
045        }
046    }