neilg       2003/06/23 10:11:03

  Modified:    java/src/org/apache/xerces/impl/dv/xs XSSimpleTypeDecl.java
  Log:
  add annotation support to simple types
  
  Revision  Changes    Path
  1.39      +28 -10    
xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
  
  Index: XSSimpleTypeDecl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- XSSimpleTypeDecl.java     18 Jun 2003 17:04:59 -0000      1.38
  +++ XSSimpleTypeDecl.java     23 Jun 2003 17:11:02 -0000      1.39
  @@ -69,7 +69,7 @@
   import org.apache.xerces.impl.dv.XSSimpleType;
   import org.apache.xerces.impl.xpath.regex.RegularExpression;
   import org.apache.xerces.impl.xs.psvi.StringList;
  -import org.apache.xerces.impl.xs.psvi.XSAnnotation;
  +import org.apache.xerces.impl.xs.XSAnnotationImpl;
   import org.apache.xerces.impl.xs.psvi.XSConstants;
   import org.apache.xerces.impl.xs.psvi.XSNamespaceItem;
   import org.apache.xerces.impl.xs.psvi.XSObjectList;
  @@ -260,6 +260,9 @@
       private Object fMinExclusive;
       private Object fMinInclusive;
   
  +    // optional annotations
  +    private XSObjectList fAnnotations = null;
  +
       private short fPatternType = SPECIAL_PATTERN_NONE;
   
       // for fundamental facets
  @@ -293,14 +296,17 @@
           this.fBounded = bounded;
           this.fFinite = finite;
           this.fNumeric = numeric;
  +        fAnnotations = null;
       }
   
       //Create a new simple type for restriction.
  -    protected XSSimpleTypeDecl(XSSimpleTypeDecl base, String name, String uri, 
short finalSet, boolean isImmutable) {
  +    protected XSSimpleTypeDecl(XSSimpleTypeDecl base, String name, String uri, 
short finalSet, boolean isImmutable,
  +                XSObjectList annotations) {
           fBase = base;
           fTypeName = name;
           fTargetNamespace = uri;
           fFinalSet = finalSet;
  +        fAnnotations = annotations;
   
           fVariety = fBase.fVariety;
           fValidationDV = fBase.fValidationDV;
  @@ -340,11 +346,13 @@
       }
   
       //Create a new simple type for list.
  -    protected XSSimpleTypeDecl(String name, String uri, short finalSet, 
XSSimpleTypeDecl itemType, boolean isImmutable) {
  +    protected XSSimpleTypeDecl(String name, String uri, short finalSet, 
XSSimpleTypeDecl itemType, boolean isImmutable,
  +                XSObjectList annotations) {
           fBase = fAnySimpleType;
           fTypeName = name;
           fTargetNamespace = uri;
           fFinalSet = finalSet;
  +        fAnnotations = annotations;
   
           fVariety = VARIETY_LIST;
           fItemType = (XSSimpleTypeDecl)itemType;
  @@ -359,11 +367,13 @@
       }
   
       //Create a new simple type for union.
  -    protected XSSimpleTypeDecl(String name, String uri, short finalSet, 
XSSimpleTypeDecl[] memberTypes) {
  +    protected XSSimpleTypeDecl(String name, String uri, short finalSet, 
XSSimpleTypeDecl[] memberTypes,
  +                XSObjectList annotations) {
           fBase = fAnySimpleType;
           fTypeName = name;
           fTargetNamespace = uri;
           fFinalSet = finalSet;
  +        fAnnotations = annotations;
   
           fVariety = VARIETY_UNION;
           fMemberTypes = memberTypes;
  @@ -383,13 +393,15 @@
       }
   
       //set values for restriction.
  -    protected XSSimpleTypeDecl setRestrictionValues(XSSimpleTypeDecl base, String 
name, String uri, short finalSet) {
  +    protected XSSimpleTypeDecl setRestrictionValues(XSSimpleTypeDecl base, String 
name, String uri, short finalSet, 
  +                XSObjectList annotations) {
           //decline to do anything if the object is immutable.
           if(fIsImmutable) return null;
           fBase = base;
           fTypeName = name;
           fTargetNamespace = uri;
           fFinalSet = finalSet;
  +        fAnnotations = annotations;
   
           fVariety = fBase.fVariety;
           fValidationDV = fBase.fValidationDV;
  @@ -429,13 +441,15 @@
       }
   
       //set values for list.
  -    protected XSSimpleTypeDecl setListValues(String name, String uri, short 
finalSet, XSSimpleTypeDecl itemType) {
  +    protected XSSimpleTypeDecl setListValues(String name, String uri, short 
finalSet, XSSimpleTypeDecl itemType,
  +                XSObjectList annotations) {
           //decline to do anything if the object is immutable.
           if(fIsImmutable) return null;
           fBase = fAnySimpleType;
           fTypeName = name;
           fTargetNamespace = uri;
           fFinalSet = finalSet;
  +        fAnnotations = annotations;
   
           fVariety = VARIETY_LIST;
           fItemType = (XSSimpleTypeDecl)itemType;
  @@ -450,13 +464,15 @@
       }
   
       //set values for union.
  -    protected XSSimpleTypeDecl setUnionValues(String name, String uri, short 
finalSet, XSSimpleTypeDecl[] memberTypes) {
  +    protected XSSimpleTypeDecl setUnionValues(String name, String uri, short 
finalSet, XSSimpleTypeDecl[] memberTypes,
  +                XSObjectList annotations) {
           //decline to do anything if the object is immutable.
           if(fIsImmutable) return null;
           fBase = fAnySimpleType;
           fTypeName = name;
           fTargetNamespace = uri;
           fFinalSet = finalSet;
  +        fAnnotations = annotations;
   
           fVariety = VARIETY_UNION;
           fMemberTypes = memberTypes;
  @@ -1900,9 +1916,9 @@
           return new StringListImpl(strs, size);
       }
   
  -    public XSAnnotation getAnnotation() {
  +    public XSObjectList getAnnotations() {
           // REVISIT: SCAPI: to implement
  -        return null;
  +        return fAnnotations;
       }
   
       private void caclFundamentalFacets() {
  @@ -2276,6 +2292,7 @@
           fMinInclusive = null;
   
           fPatternType = SPECIAL_PATTERN_NONE;
  +        fAnnotations = null;
   
           // REVISIT: reset for fundamental facets
       }
  @@ -2293,5 +2310,6 @@
       public String toString() {
           return this.fTargetNamespace+"," +this.fTypeName;
       }
  +
   } // class XSSimpleTypeDecl
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to