View Javadoc

1   /*
2    * Copyright 2008 Members of the EGEE Collaboration.
3    * Copyright 2008 University Corporation for Advanced Internet Development, Inc.
4    *
5    * Licensed under the Apache License, Version 2.0 (the "License");
6    * you may not use this file except in compliance with the License.
7    * 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.opensaml.xacml.policy;
19  
20  import java.util.List;
21  
22  import javax.xml.namespace.QName;
23  
24  import org.opensaml.xacml.XACMLConstants;
25  import org.opensaml.xacml.XACMLObject;
26  import org.opensaml.xml.XMLObject;
27  import org.opensaml.xml.util.IndexedXMLObjectChildrenList;
28  
29  /** XACML PolicySet schema types. */
30  public interface PolicySetType extends XACMLObject {
31  
32      /** Local name of the element PolicySet. */
33      public static final String DEFAULT_ELEMENT_LOCAL_NAME = "PolicySet";
34  
35      /** QName of the element PolicySet. */
36      public static final QName DEFAULT_ELEMENT_NAME = new QName(XACMLConstants.XACML20_NS, DEFAULT_ELEMENT_LOCAL_NAME,
37              XACMLConstants.XACML_PREFIX);
38  
39      /** Local name of the XSI type. */
40      public static final String SCHEMA_TYPE_LOCAL_NAME = "PolicySetType";
41  
42      /** QName of the XSI type. */
43      public static final QName SCHEMA_TYPE_NAME = new QName(XACMLConstants.XACML20_NS, SCHEMA_TYPE_LOCAL_NAME,
44              XACMLConstants.XACML_PREFIX);
45  
46      /** PolicySetId attribute name. */
47      public static final String POLICY_SET_ID_ATTRIB_NAME = "PolicySetId";
48  
49      /** Version attribute name. */
50      public static final String VERSION_ATTRIB_NAME = "Version";
51  
52      /** PolicyCombiningAlgId attribute name. */
53      public static final String POLICY_COMBINING_ALG_ID_ATTRIB_NAME = "PolicyCombiningAlgId";
54  
55      /**
56       * Gets the description for this policy set.
57       * 
58       * @return description for this policy set
59       */
60      public DescriptionType getDescription();
61  
62      /**
63       * Sets the description for this policy set.
64       * 
65       * @param description description for this policy set
66       */
67      public void setDescription(DescriptionType description);
68  
69      /**
70       * Gets the backing object for the choice group containing the {@link PolicySetType}, {@link PolicyType},
71       * {@link IdReferenceType}, {@link CombinerParametersType}, {@link PolicyCombinerParametersType},
72       * {@link PolicySetCombinerParametersType}. The individual getter/setter methods should be preferred over this
73       * method, however this method may be used to fine tune the ordering of all of these objects if that should be
74       * necessary.
75       * 
76       * @return backing object for the choice group containing the {@link PolicySetType}, {@link PolicyType},
77       *         {@link IdReferenceType}, {@link CombinerParametersType}, {@link PolicyCombinerParametersType},
78       *         {@link PolicySetCombinerParametersType}
79       */
80      public IndexedXMLObjectChildrenList<XACMLObject> getPolicyChoiceGroup();
81  
82      /**
83       * Gets the defaults for this policy set.
84       * 
85       * @return defaults for this policy set
86       */
87      public DefaultsType getPolicySetDefaults();
88  
89      /**
90       * Sets the defaults for this policy set.
91       * 
92       * @param defaults defaults for this policy set
93       */
94      public void setPolicySetDefaults(DefaultsType defaults);
95  
96      /**
97       * Gets the target of this policy set.
98       * 
99       * @return target of this policy set
100      */
101     public TargetType getTarget();
102 
103     /**
104      * Sets the target of this policy set.
105      * 
106      * @param target target of this policy set
107      */
108     public void setTarget(TargetType target);
109 
110     /**
111      * Gets the child policy sets.
112      * 
113      * @return child policy sets
114      */
115     public List<PolicySetType> getPolicySets();
116 
117     /**
118      * Gets the child policies.
119      * 
120      * @return child policies
121      */
122     public List<PolicyType> getPolicies();
123 
124     /**
125      * Gets the policy set Id references.
126      * 
127      * @return policy set Id references
128      */
129     public List<IdReferenceType> getPolicySetIdReferences();
130 
131     /**
132      * Gets the policy Id references.
133      * 
134      * @return policy Id references
135      */
136     public List<IdReferenceType> getPolicyIdReferences();
137 
138     /**
139      * Gets the combiner parameters for this policy set.
140      * 
141      * @return combiner parameters for this policy set
142      */
143     public List<CombinerParametersType> getCombinerParameters();
144 
145     /**
146      * Gets the policy combiner parameters for this policy set.
147      * 
148      * @return policy combiner parameters for this policy set
149      */
150     public List<PolicyCombinerParametersType> getPolicyCombinerParameters();
151 
152     /**
153      * Gets the policy set combiner parameters for this policy set.
154      * 
155      * @return policy set combiner parameters for this policy set
156      */
157     public List<PolicySetCombinerParametersType> getPolicySetCombinerParameters();
158 
159     /**
160      * Gets the obligations of this policy set.
161      * 
162      * @return obligations of this policy set
163      */
164     public ObligationsType getObligations();
165 
166     /**
167      * Sets the obligations of this policy set.
168      * 
169      * @param obligations obligations of this policy set
170      */
171     public void setObligations(ObligationsType obligations);
172 
173     /**
174      * Gets the ID of this policy set.
175      * 
176      * @return ID of this policy set
177      */
178     public String getPolicySetId();
179 
180     /**
181      * Sets the ID of this policy set.
182      * 
183      * @param id ID of this policy set
184      */
185     public void setPolicySetId(String id);
186 
187     /**
188      * Gets the XACML version of this policy set.
189      * 
190      * @return XACML version of this policy set
191      */
192     public String getVersion();
193 
194     /**
195      * Sets the XACML version of this policy set.
196      * 
197      * @param version XACML version of this policy set
198      */
199     public void setVersion(String version);
200 
201     /**
202      * Gets the policy combining algorithm used with this policy set.
203      * 
204      * @return policy combining algorithm used with this policy set
205      */
206     public String getPolicyCombiningAlgoId();
207 
208     /**
209      * Sets the policy combining algorithm used with this policy set.
210      * 
211      * @param id policy combining algorithm used with this policy set
212      */
213     public void setPolicyCombiningAlgoId(String id);
214 }