content: /*
   * 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 mf.org.apache.xerces.xs;
  
  /**
   * Describes a constraining facet. Enumeration and pattern facets are exposed
   * via <code>XSMultiValueFacet</code> interface.
   */
  public interface XSFacet extends XSObject {
      /**
       * The name of the facet, e.g. <code>FACET_LENGTH, FACET_TOTALDIGITS</code>
       * (see <code>XSSimpleTypeDefinition</code>).
       */
      short getFacetKind();
  
      /**
       * A value of this facet.
       */
      String getLexicalFacetValue();
  
      /**
       * If this facet is length, minLength, maxLength, totalDigits, or
       * fractionDigits, and if the value can fit in "int", then return the value
       * of the facet as an int. If the value can't fit, return -1. Use
       * getActualFacetValue() to get the BigInteger representation. For all other
       * facets, return 0.
       */
      int getIntFacetValue();
  
      /**
       * If this facet is minInclusive, maxInclusive, minExclusive, or
       * maxExclusive, then return the actual value of the facet. If this facet
       * is length, minLength, maxLength, totalDigits, or fractionDigits, then
       * return a BigInteger representation of the value. If this facet is
       * whiteSpace, then return the String representation of the facet.
       */
      Object getActualFacetValue();
  
      /**
       * [Facets]: check whether a facet is fixed.
       */
      boolean getFixed();
  
      /**
       * An annotation if it exists, otherwise <code>null</code>. If not null
       * then the first [annotation] from the sequence of annotations.
       */
      XSAnnotation getAnnotation();
  
      /**
       * A sequence of [annotations] or an empty <code>XSObjectList</code>.
       */
      XSObjectList getAnnotations();
  }
  