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 27 /** XACML Obligation schema type. */ 28 public interface ObligationType extends XACMLObject { 29 30 /** Local name of the element Obligation. */ 31 public static final String DEFAULT_ELEMENT_LOCAL_NAME = "Obligation"; 32 33 /** QName of the element Obligation. */ 34 public static final QName DEFAULT_ELEMENT_QNAME = new QName(XACMLConstants.XACML20_NS, DEFAULT_ELEMENT_LOCAL_NAME, 35 XACMLConstants.XACML_PREFIX); 36 37 /** Local name of the XSI type. */ 38 public static final String SCHEMA_TYPE_LOCAL_NAME = "ObligationType"; 39 40 /** QName of the XSI type. */ 41 public static final QName SCHEMA_TYPE_NAME = new QName(XACMLConstants.XACML20_NS, SCHEMA_TYPE_LOCAL_NAME, 42 XACMLConstants.XACML_PREFIX); 43 44 /** ObligationId attribute name. */ 45 public static final String OBLIGATION_ID_ATTRIB_NAME = "ObligationId"; 46 47 /** FulfillOn attribute name. */ 48 public static final String FULFILL_ON_ATTRIB_NAME = "FulfillOn"; 49 50 /** 51 * Gets the attribute assignments for this obligation. 52 * 53 * @return attribute assignments for this obligation 54 */ 55 public List<AttributeAssignmentType> getAttributeAssignments(); 56 57 /** 58 * Gets the ID of this obligation. 59 * 60 * @return ID of this obligation 61 */ 62 public String getObligationId(); 63 64 /** 65 * Sets the ID of this obligation. 66 * 67 * @param id ID of this obligation 68 */ 69 public void setObligationId(String id); 70 71 /** 72 * Gets the fulfill on effect. 73 * 74 * @return fulfill on effect 75 */ 76 public EffectType getFulfillOn(); 77 78 /** 79 * Sets fulfill on effect. 80 * 81 * @param type fulfill on effect 82 */ 83 public void setFulfillOn(EffectType type); 84 }