KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > org > apache > xerces > internal > impl > xs > XSAttributeUseImpl


1 /*
2  * The Apache Software License, Version 1.1
3  *
4  *
5  * Copyright (c) 1999-2002 The Apache Software Foundation. All rights
6  * reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * 1. Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in
17  * the documentation and/or other materials provided with the
18  * distribution.
19  *
20  * 3. The end-user documentation included with the redistribution,
21  * if any, must include the following acknowledgment:
22  * "This product includes software developed by the
23  * Apache Software Foundation (http://www.apache.org/)."
24  * Alternately, this acknowledgment may appear in the software itself,
25  * if and wherever such third-party acknowledgments normally appear.
26  *
27  * 4. The names "Xerces" and "Apache Software Foundation" must
28  * not be used to endorse or promote products derived from this
29  * software without prior written permission. For written
30  * permission, please contact apache@apache.org.
31  *
32  * 5. Products derived from this software may not be called "Apache",
33  * nor may "Apache" appear in their name, without prior written
34  * permission of the Apache Software Foundation.
35  *
36  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
40  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47  * SUCH DAMAGE.
48  * ====================================================================
49  *
50  * This software consists of voluntary contributions made by many
51  * individuals on behalf of the Apache Software Foundation and was
52  * originally based on software copyright (c) 1999, International
53  * Business Machines, Inc., http://www.apache.org. For more
54  * information on the Apache Software Foundation, please see
55  * <http://www.apache.org/>.
56  */

57
58 package com.sun.org.apache.xerces.internal.impl.xs;
59
60 import com.sun.org.apache.xerces.internal.impl.dv.ValidatedInfo;
61 import com.sun.org.apache.xerces.internal.xs.ShortList;
62 import com.sun.org.apache.xerces.internal.xs.XSAttributeDeclaration;
63 import com.sun.org.apache.xerces.internal.xs.XSAttributeUse;
64 import com.sun.org.apache.xerces.internal.xs.XSConstants;
65 import com.sun.org.apache.xerces.internal.xs.XSNamespaceItem;
66
67 /**
68  * The XML representation for an attribute use
69  * schema component is a local <attribute> element information item
70  *
71  * @author Sandy Gao, IBM
72  * @version $Id: XSAttributeUseImpl.java,v 1.5 2003/11/12 23:17:33 sandygao Exp $
73  */

74 public class XSAttributeUseImpl implements XSAttributeUse {
75
76     // the referred attribute decl
77
public XSAttributeDecl fAttrDecl = null;
78     // use information: SchemaSymbols.USE_OPTIONAL, REQUIRED, PROHIBITED
79
public short fUse = SchemaSymbols.USE_OPTIONAL;
80     // value constraint type: default, fixed or !specified
81
public short fConstraintType = XSConstants.VC_NONE;
82     // value constraint value
83
public ValidatedInfo fDefault = null;
84
85     public void reset(){
86         fDefault = null;
87         fAttrDecl = null;
88         fUse = SchemaSymbols.USE_OPTIONAL;
89         fConstraintType = XSConstants.VC_NONE;
90     }
91
92     /**
93      * Get the type of the object, i.e ELEMENT_DECLARATION.
94      */

95     public short getType() {
96         return XSConstants.ATTRIBUTE_USE;
97     }
98
99     /**
100      * The <code>name</code> of this <code>XSObject</code> depending on the
101      * <code>XSObject</code> type.
102      */

103     public String JavaDoc getName() {
104         return null;
105     }
106
107     /**
108      * The namespace URI of this node, or <code>null</code> if it is
109      * unspecified. defines how a namespace URI is attached to schema
110      * components.
111      */

112     public String JavaDoc getNamespace() {
113         return null;
114     }
115
116     /**
117      * {required} determines whether this use of an attribute declaration
118      * requires an appropriate attribute information item to be present, or
119      * merely allows it.
120      */

121     public boolean getRequired() {
122         return fUse == SchemaSymbols.USE_REQUIRED;
123     }
124
125     /**
126      * {attribute declaration} provides the attribute declaration itself,
127      * which will in turn determine the simple type definition used.
128      */

129     public XSAttributeDeclaration getAttrDeclaration() {
130         return fAttrDecl;
131     }
132
133     /**
134      * Value Constraint: one of default, fixed.
135      */

136     public short getConstraintType() {
137         return fConstraintType;
138     }
139
140     /**
141      * Value Constraint: The actual value (with respect to the {type
142      * definition}).
143      */

144     public String JavaDoc getConstraintValue() {
145         // REVISIT: SCAPI: what's the proper representation
146
return getConstraintType() == XSConstants.VC_NONE ?
147                null :
148                fDefault.actualValue.toString();
149     }
150
151     /**
152      * @see com.sun.org.apache.xerces.internal.xs.XSObject#getNamespaceItem()
153      */

154     public XSNamespaceItem getNamespaceItem() {
155         return null;
156     }
157
158     public Object JavaDoc getActualVC() {
159         return fDefault.actualValue;
160     }
161
162     public short getActualVCType() {
163         return fDefault.actualValueType;
164     }
165
166     public ShortList getItemValueTypes() {
167         return fDefault.itemValueTypes;
168     }
169
170 } // class XSAttributeUseImpl
171
Popular Tags