001 /*
002 * file CcPermissions.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM
006 *
007 * com.ibm.rational.wvcm.stp.cc.CcPermissions
008 *
009 * (C) Copyright IBM Corporation 2008. 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 javax.wvcm.WvcmException;
017
018 /**
019 * <p>
020 * Interface which provides a method of distinguishing the aggregated
021 * results returned by a {@link CcElement#PERMISSIONS} property request.
022 * </p>
023 */
024 public interface CcPermissions {
025
026 /**
027 * Interface for accessing individual permissions (read, write,
028 * and execute) supported on ClearCase objects.
029 *
030 */
031 public interface Permissions {
032 /**
033 * Gets read permission
034 * @return true if enabled, otherwise false.
035 */
036 public boolean getRead();
037 /**
038 * Gets write permission
039 * @return true if enabled, otherwise false.
040 */
041 public boolean getWrite();
042 /**
043 * Gets execute permission
044 * @return true if enabled, otherwise false.
045 */
046 public boolean getExecute();
047 /**
048 * Sets read permission
049 * @param t true to enable, false to disable.
050 */
051 public void setRead(boolean t);
052 /**
053 * Sets write permission
054 * @param t true to enable, false to disable.
055 */
056 public void setWrite(boolean t);
057 /**
058 * Sets execute permission
059 * @param t true to enable, false to disable.
060 */
061 public void setExecute(boolean t);
062 }
063
064 /**
065 * Gets the user name.
066 * @return user name
067 * @throws WvcmException
068 */
069 public String getUserName() throws WvcmException;
070
071 /**
072 * Gets the group name.
073 * @return group name
074 * @throws WvcmException
075 */
076 public String getGroupName() throws WvcmException;
077
078 /**
079 * Gets the permissions for user.
080 * @return permissions
081 * @throws WvcmException
082 */
083 public Permissions getUserPermissions() throws WvcmException;
084
085 /**
086 * Gets the permissions for group.
087 * @return permissions
088 * @throws WvcmException
089 */
090 public Permissions getGroupPermissions() throws WvcmException;
091
092 /**
093 * Gets the permissions for other.
094 * @return permissions
095 * @throws WvcmException
096 */
097 public Permissions getOtherPermissions() throws WvcmException;
098
099 /**
100 * Gets the setuid setting.
101 * @return permissions
102 * @throws WvcmException
103 */
104 public boolean getSetuid() throws WvcmException;
105
106 /**
107 * Gets the setgid setting.
108 * @return permissions
109 * @throws WvcmException
110 */
111 public boolean getSetgid() throws WvcmException;
112
113 /**
114 * Sets the user name.
115 * @param name
116 * @throws WvcmException
117 */
118 public void setUserName(String name) throws WvcmException;
119
120 /**
121 * Sets the group name.
122 * @param name
123 * @throws WvcmException
124 */
125 public void setGroupName(String name) throws WvcmException;
126
127 /**
128 * Sets the setuid permission.
129 * @param value
130 * @throws WvcmException
131 */
132 public void setSetuid(boolean value) throws WvcmException;
133
134 /**
135 * Sets the setgid permission.
136 * @param value
137 * @throws WvcmException
138 */
139 public void setSetgid(boolean value) throws WvcmException;
140
141 /**
142 * Sets permissions for user.
143 * @param permissions
144 * @throws WvcmException
145 */
146 public void setUserPermissions(Permissions permissions) throws WvcmException;
147
148 /**
149 * Sets permissions for group.
150 * @param permissions
151 * @throws WvcmException
152 */
153 public void setGroupPermissions(Permissions permissions) throws WvcmException;
154
155 /**
156 * Sets permissions for other.
157 * @param permissions
158 * @throws WvcmException
159 */
160 public void setOtherPermissions(Permissions permissions) throws WvcmException;
161
162 /**
163 * @deprecated For internal use only
164 */
165 public String toXml() throws WvcmException;
166
167 }