org.apache.xerces.xs.XSFacet Maven / Gradle / Ivy
/*
* 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 org.apache.xerces.xs;
/**
* Describes a constraining facet. Enumeration and pattern facets are exposed
* via XSMultiValueFacet
interface.
*/
public interface XSFacet extends XSObject {
/**
* The name of the facet, e.g. FACET_LENGTH, FACET_TOTALDIGITS
* (see XSSimpleTypeDefinition
).
*/
public short getFacetKind();
/**
* A value of this facet.
*/
public String getLexicalFacetValue();
/**
* If this facet is length, minLength, maxLength, totalDigits,
* fractionDigits, minScale, or maxScale, 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.
*/
public 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, fractionDigits, minScale,
* or maxScale, then return a BigInteger representation of the value. If
* this facet is whiteSpace or explicitTimezone, then return the String
* representation of the facet.
*/
public Object getActualFacetValue();
/**
* [Facets]: check whether a facet is fixed.
*/
public boolean getFixed();
/**
* An annotation if it exists, otherwise null
. If not null
* then the first [annotation] from the sequence of annotations.
*/
public XSAnnotation getAnnotation();
/**
* A sequence of [annotations] or an empty XSObjectList
.
*/
public XSObjectList getAnnotations();
}