View Javadoc

1   /* 
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8   *
9   *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17  
18  package org.apache.jetspeed.sso;
19  
20  import java.util.Collection;
21  import java.sql.Timestamp;
22  
23  import org.apache.jetspeed.security.om.InternalUserPrincipal;
24  
25  /***
26   */
27  public interface SSOPrincipal {
28  
29  	/***
30  	 * addRemotePrincipal()
31  	 * @param principal
32  	 * Adds remote principal to the main (logged in) principal
33  	 */
34  	public void addRemotePrincipal(InternalUserPrincipal principal);
35     /***
36      * <p>
37      * Getter for the principal id.
38      * </p>
39      * 
40      * @return The principal id.
41      */
42     long getPrincipalId();
43  
44     /***
45      * <p>
46      * Setter for the principal id.
47      * </p>
48      * 
49      * @param principalId The principal id.
50      */
51     void setPrincipalId(long principalId);
52  
53     /***
54      * <p>
55      * Getter for the principal classname.
56      * </p>
57      * 
58      * @return The principal classname.
59      */
60     String getClassname();
61  
62     /***
63      * <p>
64      * Setter for the principal classname.
65      * </p>
66      * 
67      * @param classname The principal classname.
68      */
69     void setClassname(String classname);
70  
71     /***
72      * <p>
73      * Getter for isMappingOnly.
74      * </p>
75      * 
76      * @return The isMappingOnly.
77      */
78     boolean isMappingOnly();
79  
80     /***
81      * <p>
82      * Setter for isMappingOnly.
83      * </p>
84      * 
85      * @param isMappingOnly The isMappingOnly.
86      */
87     void setMappingOnly(boolean isMappingOnly);
88  
89     /***
90      * <p>
91      * Getter for the principal full path.
92      * </p>
93      * <p>
94      * The full path allows to retrieve the principal preferences from the
95      * preferences services.
96      * </p>
97      * 
98      * @return The principal full path.
99      */
100    String getFullPath();
101 
102    /***
103     * <p>
104     * Setter for the principal name.
105     * </p>
106     * <p>
107     * The full path allows to retrieve the principal preferences from the
108     * preferences services.
109     * </p>
110     * 
111     * @param fullPath The principal full path.
112     */
113    void setFullPath(String fullPath);
114 
115    /***
116     * <p>
117     * Getter for the principal permissions.
118     * </p>
119     * 
120     * @return The principal permissions.
121     */
122    Collection getPermissions();
123 
124    /***
125     * <p>
126     * Setter for the principal permissions.
127     * </p>
128     * 
129     * @param permissions The principal permissions.
130     */
131    void setPermissions(Collection permissions);
132 
133    /***
134     * <p>
135     * Getter for creation date.
136     * </p>
137     * 
138     * @return The creation date.
139     */
140    Timestamp getCreationDate();
141 
142    /***
143     * <p>
144     * Setter for the creation date.
145     * </p>
146     * 
147     * @param creationDate The creation date.
148     */
149    void setCreationDate(Timestamp creationDate);
150 
151    /***
152     * <p>
153     * Getter for the modified date.
154     * </p>
155     * 
156     * @return The modified date.
157     */
158    Timestamp getModifiedDate();
159 
160    /***
161     * <p>
162     * Setter for the modified date.
163     * </p>
164     * 
165     * @param modifiedDate The modified date.
166     */
167    void setModifiedDate(Timestamp modifiedDate);
168 
169    /***
170     * <p>Getter for the enabled state</p>
171     * @return true if enabled
172     */
173    boolean isEnabled();
174    
175    /***
176     * Setter for the enabled state</p>
177     * @param enabled The enabled state
178     */
179    void setEnabled(boolean enabled);    
180    
181    /***
182 	 * Getter for the remotePrincipals.
183 	 */
184 	public Collection getRemotePrincipals();
185 	
186 	/***
187 	 *  Setter for the  remotePrincipals 
188 	 */
189 	public void setRemotePrincipals(Collection remotePrincipals) ;
190 
191 	/***
192 	* Getter for the siteID.
193 	*/
194 	public int getSiteID();
195 	/***
196 	* Setter for thesiteID
197 	*/
198 	public void setSiteID(int siteID);
199 }