|  |  | 
|  |  | 
|  |  */ | 
|  | /* | 
|  |  * Licensed to the Apache Software Foundation (ASF) under one or more | 
|  |  * contributor license agreements.  See the NOTICE file distributed with | 
|  |  * this work for additional information regarding copyright ownership. | 
|  |  * The ASF licenses this file to You under the Apache License, Version 2.0 | 
|  |  * (the "License"); you may not use this file except in compliance with | 
|  |  * the License.  You may obtain a copy of the License at | 
|  |  * | 
|  |  *      http://www.apache.org/licenses/LICENSE-2.0 | 
|  |  * | 
|  |  * Unless required by applicable law or agreed to in writing, software | 
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | 
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  |  * See the License for the specific language governing permissions and | 
|  |  * limitations under the License. | 
|  |  */ | 
|  |  | 
|  | package com.sun.org.apache.xerces.internal.impl.xs; | 
|  |  | 
|  | import com.sun.org.apache.xerces.internal.impl.dv.ValidatedInfo; | 
|  | import com.sun.org.apache.xerces.internal.impl.dv.XSSimpleType; | 
|  | import com.sun.org.apache.xerces.internal.impl.xs.util.XSObjectListImpl; | 
|  | import com.sun.org.apache.xerces.internal.xni.QName; | 
|  | import com.sun.org.apache.xerces.internal.xs.ShortList; | 
|  | import com.sun.org.apache.xerces.internal.xs.XSAnnotation; | 
|  | import com.sun.org.apache.xerces.internal.xs.XSAttributeDeclaration; | 
|  | import com.sun.org.apache.xerces.internal.xs.XSComplexTypeDefinition; | 
|  | import com.sun.org.apache.xerces.internal.xs.XSConstants; | 
|  | import com.sun.org.apache.xerces.internal.xs.XSNamespaceItem; | 
|  | import com.sun.org.apache.xerces.internal.xs.XSObjectList; | 
|  | import com.sun.org.apache.xerces.internal.xs.XSSimpleTypeDefinition; | 
|  | import com.sun.org.apache.xerces.internal.xs.XSValue; | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  */ | 
|  | public class XSAttributeDecl implements XSAttributeDeclaration { | 
|  |  | 
|  |      | 
|  |     public final static short     SCOPE_ABSENT        = 0; | 
|  |     public final static short     SCOPE_GLOBAL        = 1; | 
|  |     public final static short     SCOPE_LOCAL         = 2; | 
|  |  | 
|  |      | 
|  |     String fName = null; | 
|  |      | 
|  |     String fTargetNamespace = null; | 
|  |      | 
|  |     XSSimpleType fType = null; | 
|  |     public QName fUnresolvedTypeName = null; | 
|  |      | 
|  |     short fConstraintType = XSConstants.VC_NONE; | 
|  |      | 
|  |     short fScope = XSConstants.SCOPE_ABSENT; | 
|  |      | 
|  |     XSComplexTypeDecl fEnclosingCT = null; | 
|  |      | 
|  |     XSObjectList fAnnotations = null; | 
|  |      | 
|  |     ValidatedInfo fDefault = null; | 
|  |     // The namespace schema information item corresponding to the target namespace | 
|  |      | 
|  |     private XSNamespaceItem fNamespaceItem = null; | 
|  |  | 
|  |     public void setValues(String name, String targetNamespace, | 
|  |             XSSimpleType simpleType, short constraintType, short scope, | 
|  |             ValidatedInfo valInfo, XSComplexTypeDecl enclosingCT, | 
|  |             XSObjectList annotations) { | 
|  |         fName = name; | 
|  |         fTargetNamespace = targetNamespace; | 
|  |         fType = simpleType; | 
|  |         fConstraintType = constraintType; | 
|  |         fScope = scope; | 
|  |         fDefault = valInfo; | 
|  |         fEnclosingCT = enclosingCT; | 
|  |         fAnnotations = annotations; | 
|  |     } | 
|  |  | 
|  |     public void reset(){ | 
|  |         fName = null; | 
|  |         fTargetNamespace = null; | 
|  |         fType = null; | 
|  |         fUnresolvedTypeName = null; | 
|  |         fConstraintType = XSConstants.VC_NONE; | 
|  |         fScope = XSConstants.SCOPE_ABSENT; | 
|  |         fDefault = null; | 
|  |         fAnnotations = null; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |      */ | 
|  |     public short getType() { | 
|  |         return XSConstants.ATTRIBUTE_DECLARATION; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |  | 
|  |      */ | 
|  |     public String getName() { | 
|  |         return fName; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |  | 
|  |  | 
|  |      */ | 
|  |     public String getNamespace() { | 
|  |         return fTargetNamespace; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |      */ | 
|  |     public XSSimpleTypeDefinition getTypeDefinition() { | 
|  |         return fType; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |      */ | 
|  |     public short getScope() { | 
|  |         return fScope; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |  | 
|  |  | 
|  |      */ | 
|  |     public XSComplexTypeDefinition getEnclosingCTDefinition() { | 
|  |         return fEnclosingCT; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |      */ | 
|  |     public short getConstraintType() { | 
|  |         return fConstraintType; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |  | 
|  |      */ | 
|  |     @Deprecated | 
|  |     public String getConstraintValue() { | 
|  |          | 
|  |         return getConstraintType() == XSConstants.VC_NONE ? | 
|  |                null : | 
|  |                fDefault.stringValue(); | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |      */ | 
|  |     public XSAnnotation getAnnotation() { | 
|  |         return (fAnnotations != null) ? (XSAnnotation) fAnnotations.item(0) : null; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |      */ | 
|  |     public XSObjectList getAnnotations() { | 
|  |         return (fAnnotations != null) ? fAnnotations : XSObjectListImpl.EMPTY_LIST; | 
|  |     } | 
|  |  | 
|  |     public ValidatedInfo getValInfo() { | 
|  |         return fDefault; | 
|  |     } | 
|  |  | 
|  |      | 
|  |  | 
|  |      */ | 
|  |     public XSNamespaceItem getNamespaceItem() { | 
|  |         return fNamespaceItem; | 
|  |     } | 
|  |  | 
|  |     void setNamespaceItem(XSNamespaceItem namespaceItem) { | 
|  |         fNamespaceItem = namespaceItem; | 
|  |     } | 
|  |  | 
|  |     @Deprecated | 
|  |     public Object getActualVC() { | 
|  |         return getConstraintType() == XSConstants.VC_NONE ? | 
|  |                null : | 
|  |                fDefault.actualValue; | 
|  |     } | 
|  |  | 
|  |     @Deprecated | 
|  |     public short getActualVCType() { | 
|  |         return getConstraintType() == XSConstants.VC_NONE ? | 
|  |                XSConstants.UNAVAILABLE_DT : | 
|  |                fDefault.actualValueType; | 
|  |     } | 
|  |  | 
|  |     @Deprecated | 
|  |     public ShortList getItemValueTypes() { | 
|  |         return getConstraintType() == XSConstants.VC_NONE ? | 
|  |                null : | 
|  |                fDefault.itemValueTypes; | 
|  |     } | 
|  |  | 
|  |     public XSValue getValueConstraintValue() { | 
|  |         return fDefault; | 
|  |     } | 
|  |  | 
|  | } // class XSAttributeDecl |