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 javax.xml.namespace.QName;
21  
22  import org.opensaml.xacml.XACMLConstants;
23  import org.opensaml.xml.AttributeExtensibleXMLObject;
24  import org.opensaml.xml.ElementExtensibleXMLObject;
25  
26  /** XACML AttributeValue schema type. */
27  public interface AttributeValueType extends ExpressionType, AttributeExtensibleXMLObject, ElementExtensibleXMLObject {
28  
29      /** Local name of the element AttributeValue. */
30      public static final String DEFAULT_ELEMENT_LOCAL_NAME = "AttributeValue";
31  
32      /** QName of the element AttributeValue. */
33      public static final QName DEFAULT_ELEMENT_NAME = new QName(XACMLConstants.XACML20_NS,
34              DEFAULT_ELEMENT_LOCAL_NAME, XACMLConstants.XACML_PREFIX);
35  
36      /** Local name of the XSI type. */
37      public static final String SCHEMA_TYPE_LOCAL_NAME = "AttributeValueType";
38  
39      /** QName of the XSI type. */
40      public static final QName SCHEMA_TYPE_NAME = new QName(XACMLConstants.XACML20_NS, SCHEMA_TYPE_LOCAL_NAME,
41              XACMLConstants.XACML_PREFIX);
42  
43      /** DataType attribute name. */
44      public static final String DATA_TYPE_ATTRIB_NAME = "DataType";
45  
46      /**
47       * Gets the data type of the designated attribute.
48       * 
49       * @return data type of the designated attribute
50       */
51      public String getDataType();
52  
53      /**
54       * Sets the data type of the designated attribute.
55       * 
56       * @param type data type of the designated attribute
57       */
58      public void setDataType(String type);
59      
60      /**
61       * Gets the text content of the element.
62       * 
63       * @return text content of the element
64       */
65      public String getValue();
66  
67      /**
68       * Sets the text content of the element.
69       * 
70       * <strong>NOTE</strong> because the library does not support mixed content setting textual content will prohibit
71       * element content.
72       * 
73       * @param value text content of the element
74       */
75      public void setValue(String value);
76  }