001/** 002 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 003 * 004 * Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved 005 * 006 * The contents of this file are subject to the terms 007 * of the Common Development and Distribution License 008 * (the License). You may not use this file except in 009 * compliance with the License. 010 * 011 * You can obtain a copy of the License at 012 * https://opensso.dev.java.net/public/CDDLv1.0.html or 013 * opensso/legal/CDDLv1.0.txt 014 * See the License for the specific language governing 015 * permission and limitations under the License. 016 * 017 * When distributing Covered Code, include this CDDL 018 * Header Notice in each file and include the License file 019 * at opensso/legal/CDDLv1.0.txt. 020 * If applicable, add the following below the CDDL Header, 021 * with the fields enclosed by brackets [] replaced by 022 * your own identifying information: 023 * "Portions Copyrighted [year] [name of copyright owner]" 024 * 025 * $Id: MissingAttributeDetail.java,v 1.2 2008/06/25 05:48:11 qcheng Exp $ 026 * 027 */ 028 029package com.sun.identity.xacml.context; 030 031import com.sun.identity.xacml.common.XACMLException; 032 033import java.util.List; 034 035/** 036 * The <code>StatusCode</code> element is a container of 037 * one or more <code>Status</code>s issuded by authorization authority. 038 * @supported.all.api 039 */ 040public interface MissingAttributeDetail { 041 042 /* schema 043 <xs:element name="MissingAttributeDetail" 044 type="xacml-context:MissingAttributeDetailType"/> 045 <xs:complexType name="MissingAttributeDetailType"> 046 <xs:sequence> 047 <xs:element ref="xacml-context:AttributeValue" minOccurs="0" 048 maxOccurs="unbounded"/> 049 </xs:sequence> 050 <xs:attribute name="AttributeId" type="xs:anyURI" use="required"/> 051 <xs:attribute name="DataType" type="xs:anyURI" use="required"/> 052 <xs:attribute name="Issuer" type="xs:string" use="optional"/> 053 </xs:complexType> 054 055 <xs:element name="AttributeValue" 056 type="xacml-context:AttributeValueType"/> 057 <xs:complexType name="AttributeValueType" mixed="true"> 058 <xs:sequence> 059 <xs:any namespace="##any" processContents="lax" minOccurs="0" 060 maxOccurs="unbounded"/> 061 </xs:sequence> 062 <xs:anyAttribute namespace="##any" processContents="lax"/> 063 </xs:complexType> 064 */ 065 066 /** 067 * Returns the <code>AttributeValue</code>s of this object 068 * 069 * @return the <code>AttributeValue</code>s of this object 070 */ 071 public List getAttributeValues(); 072 073 /** 074 * Sets the <code>AttributeValue</code>s of this object 075 * 076 * @param values the <code>AttributeValue</code>s of this object 077 * 078 * @exception XACMLException if the object is immutable 079 */ 080 public void setAttributeValues(List values) throws XACMLException; 081 082 /** 083 * Returns the <code>AttributeId</code>s of this object 084 * 085 * @return the <code>AttributeId</code>s of this object 086 */ 087 public String getAttributeId(); 088 089 /** 090 * Sets the <code>AttributeId</code>s of this object 091 * 092 * @param attributeId the <code>AttributeId</code>s of this object 093 * 094 * @exception XACMLException if the object is immutable 095 */ 096 public void setAttributeId(String attributeId) throws XACMLException; 097 098 /** 099 * Returns the <code>DataType</code>s of this object 100 * 101 * @return the <code>DataType</code>s of this object 102 */ 103 public String getDataType(); 104 105 /** 106 * Sets the <code>DataType</code>s of this object 107 * 108 * @param dataType the <code>DataType</code>s of this object 109 * 110 * @exception XACMLException if the object is immutable 111 */ 112 public void setDataType(String dataType) throws XACMLException; 113 114 /** 115 * Returns the <code>Issuer</code>s of this object 116 * 117 * @return the <code>Issuer</code>s of this object 118 */ 119 public String getIssuer(); 120 121 /** 122 * Sets the <code>Issuer</code>s of this object 123 * 124 * @param issuer the <code>Issuer</code>s of this object 125 * 126 * @exception XACMLException if the object is immutable 127 */ 128 public void setIssuer(String issuer) throws XACMLException; 129 130 /** 131 * Returns a string representation 132 * @param includeNSPrefix Determines whether or not the namespace qualifier 133 * is prepended to the Element when converted 134 * @param declareNS Determines whether or not the namespace is declared 135 * within the Element. 136 * @return a string representation 137 * @exception XACMLException if conversion fails for any reason 138 */ 139 public String toXMLString(boolean includeNSPrefix, boolean declareNS) 140 throws XACMLException; 141 142 /** 143 * Returns a string representation 144 * 145 * @return a string representation 146 * @exception XACMLException if conversion fails for any reason 147 */ 148 public String toXMLString() throws XACMLException; 149 150 /** 151 * Makes the object immutable 152 */ 153 public void makeImmutable(); 154 155 /** 156 * Checks if the object is mutable 157 * 158 * @return <code>true</code> if the object is mutable, 159 * <code>false</code> otherwise 160 */ 161 public boolean isMutable(); 162 163}