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 }