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*/
013package com.ibm.rational.wvcm.stp.cc;
014
015import 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 */
028public 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}