1 /* 2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 3 */ 4 /* 5 * Licensed to the Apache Software Foundation (ASF) under one or more 6 * contributor license agreements. See the NOTICE file distributed with 7 * this work for additional information regarding copyright ownership. 8 * The ASF licenses this file to You under the Apache License, Version 2.0 9 * (the "License"); you may not use this file except in compliance with 10 * the License. You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 */ 20 21 package com.sun.org.apache.xerces.internal.impl.dv; 22 23 import com.sun.org.apache.xerces.internal.impl.xs.util.XSObjectListImpl; 24 import com.sun.org.apache.xerces.internal.xni.NamespaceContext; 25 import com.sun.org.apache.xerces.internal.xs.XSAnnotation; 26 import com.sun.org.apache.xerces.internal.xs.XSObjectList; 27 import java.util.List; 28 29 /** 30 * The class used to pass all facets to {@link XSSimpleType#applyFacets}. 31 * 32 * @xerces.internal 33 * 34 * @author Sandy Gao, IBM 35 * 36 * @LastModified: Oct 2017 37 */ 38 public class XSFacets { 39 40 /** 41 * value of length facet. 42 */ 43 public int length; 44 45 /** 46 * value of minLength facet. 47 */ 48 public int minLength; 49 50 /** 51 * value of maxLength facet. 52 */ 53 public int maxLength; 54 55 /** 56 * value of whiteSpace facet. 57 */ 58 public short whiteSpace; 59 60 /** 61 * value of totalDigits facet. 62 */ 63 public int totalDigits; 64 65 /** 66 * value of fractionDigits facet. 67 */ 68 public int fractionDigits; 69 70 /** 71 * string containing value of pattern facet, for multiple patterns values 72 * are ORed together. 73 */ 74 public String pattern; 75 76 /** 77 * ArrayList containing values of Enumeration facet, as String's. 78 */ 79 public List<String> enumeration; 80 81 /** 82 * An array parallel to "Vector enumeration". It contains namespace context 83 * of each enumeration value. Elements of this vector are NamespaceContext 84 * objects. 85 */ 86 public List<NamespaceContext> enumNSDecls; 87 88 /** 89 * value of maxInclusive facet. 90 */ 91 public String maxInclusive; 92 93 /** 94 * value of maxExclusive facet. 95 */ 96 public String maxExclusive; 97 98 /** 99 * value of minInclusive facet. 100 */ 101 public String minInclusive; 102 103 /** 104 * value of minExclusive facet. 105 */ 106 public String minExclusive; 107 108 109 110 public XSAnnotation lengthAnnotation; 111 public XSAnnotation minLengthAnnotation; 112 public XSAnnotation maxLengthAnnotation; 113 public XSAnnotation whiteSpaceAnnotation; 114 public XSAnnotation totalDigitsAnnotation; 115 public XSAnnotation fractionDigitsAnnotation; 116 public XSObjectListImpl patternAnnotations; 117 public XSObjectList enumAnnotations; 118 public XSAnnotation maxInclusiveAnnotation; 119 public XSAnnotation maxExclusiveAnnotation; 120 public XSAnnotation minInclusiveAnnotation; 121 public XSAnnotation minExclusiveAnnotation; 122 123 public void reset(){ 124 lengthAnnotation = null; 125 minLengthAnnotation = null; 126 maxLengthAnnotation = null; 127 whiteSpaceAnnotation = null; 128 totalDigitsAnnotation = null; 129 fractionDigitsAnnotation = null; 130 patternAnnotations = null; 131 enumAnnotations = null; 132 maxInclusiveAnnotation = null; 133 maxExclusiveAnnotation = null; 134 minInclusiveAnnotation = null; 135 minExclusiveAnnotation = null; 136 } 137 }