001 /*
002 * file CcAccessControlEntry.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM
006 *
007 * com.ibm.rational.wvcm.stp.cc.CcAccessControlEntry
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 javax.wvcm.WvcmException;
016
017 /**
018 * <p>
019 * An access control entry provides a triple of a role kind, identity and permission set
020 * as part of an effective ACL for a VOB resource.
021 * <p>
022 * This interface provides an aggregate object for handling such an entry.
023 * </p>
024 */
025 public interface CcAccessControlEntry {
026
027 public enum PrincipalKind {
028 NONE("<id-kind-none>"),
029 USER("User"),
030 GROUP("Group"),
031 EVERYONE("Everyone"),
032 OWNER_USER("Owner-User"),
033 OWNER_GROUP("Owner-Group"),
034 ROLE("Role");
035
036 private final String m_kind;
037
038 PrincipalKind(String kind) {
039 m_kind = kind;
040 }
041
042 public String toString() {
043 return m_kind;
044 }
045 }
046
047 /**
048 * Get the kind of principal for which this entry applies.
049 */
050 public PrincipalKind getPrincipalKind();
051
052 /**
053 * Get the principal name for the entry. Includes domain name when applicable
054 */
055 public String getPrincipalName();
056
057 /**
058 * Get the human readable permissions for this entry.
059 */
060 public String getPermissions() throws WvcmException;
061
062 }