|
|
|
|
|
*/ |
|
/* |
|
* 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 |