View Javadoc

1   /*
2   Copyright 2008 Members of the EGEE Collaboration.
3   Copyright 2008 University Corporation for Advanced Internet Development,
4   Inc.
5   
6   Licensed under the Apache License, Version 2.0 (the "License");
7   you may not use this file except in compliance with the License.
8   You may obtain a copy of the License at
9   
10      http://www.apache.org/licenses/LICENSE-2.0
11  
12  Unless required by applicable law or agreed to in writing, software
13  distributed under the License is distributed on an "AS IS" BASIS,
14  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  See the License for the specific language governing permissions and
16  limitations under the License.
17   */
18  
19  package org.opensaml.xacml.ctx;
20  
21  import java.util.List;
22  
23  import javax.xml.namespace.QName;
24  
25  import org.opensaml.xacml.XACMLConstants;
26  import org.opensaml.xacml.XACMLObject;
27  
28  /** XACML context Subject schema type. */
29  public interface SubjectType extends XACMLObject {
30  
31      /** Local name of the element. */
32      public static final String DEFAULT_ELEMENT_LOCAL_NAME = "Subject";
33  
34      /** Default element name. */
35      public static final QName DEFAULT_ELEMENT_NAME = new QName(XACMLConstants.XACML20CTX_NS,
36              DEFAULT_ELEMENT_LOCAL_NAME, XACMLConstants.XACMLCONTEXT_PREFIX);
37  
38      /** Local name of the XSI type. */
39      public static final String TYPE_LOCAL_NAME = "SubjectType";
40  
41      /** QName of the XSI type. */
42      public static final QName TYPE_NAME = new QName(XACMLConstants.XACML20CTX_NS, TYPE_LOCAL_NAME,
43              XACMLConstants.XACMLCONTEXT_PREFIX);
44  
45      /** Name of the SubjectCategory attribute. */
46      public static final String SUBJECT_CATEGORY_ATTTRIB_NAME = "SubjectCategory";
47  
48      /**
49       * Returns the list of attributes in the subject.
50       * 
51       * @return the list of attributes in the subject
52       */
53      public List<AttributeType> getAttributes();
54  
55      /**
56       * Gets the subjectcategory of the subject.
57       * 
58       * @return The subjectcategory of the subject
59       */
60      public String getSubjectCategory();
61  
62      /**
63       * Sets the subjectcategory.
64       * 
65       * @param subjectCategory Sets the subjectcategory
66       */
67      public void setSubjectCategory(String subjectCategory);
68  }