- /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed 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.
- */
- /*
- * $Id: SortSettings.java,v 1.1 2004/02/27 01:58:29 zongaro Exp $
- */
-
- package com.sun.org.apache.xalan.internal.xsltc.dom;
-
- import java.text.Collator;
- import java.util.Locale;
-
- import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet;
-
- /**
- * Class for carrying settings that are to be used for a particular set
- * of <code>xsl:sort</code> elements.
- */
- final class SortSettings {
- /**
- * A reference to the translet object for the transformation.
- */
- private AbstractTranslet _translet;
-
- /**
- * The sort order (ascending or descending) for each level of
- * <code>xsl:sort</code>
- */
- private int[] _sortOrders;
-
- /**
- * The type of comparison (text or number) for each level of
- * <code>xsl:sort</code>
- */
- private int[] _types;
-
- /**
- * The Locale for each level of <code>xsl:sort</code>, based on any lang
- * attribute or the default Locale.
- */
- private Locale[] _locales;
-
- /**
- * The Collator object in effect for each level of <code>xsl:sort</code>
- */
- private Collator[] _collators;
-
- /**
- * Case ordering for each level of <code>xsl:sort</code>.
- */
- private String[] _caseOrders;
-
- /**
- * Create an instance of <code>SortSettings</code>.
- * @param translet {@link com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet}
- * object for the transformation
- * @param sortOrders an array specifying the sort order for each sort level
- * @param types an array specifying the type of comparison for each sort
- * level (text or number)
- * @param locales an array specifying the Locale for each sort level
- * @param collators an array specifying the Collation in effect for each
- * sort level
- * @param caseOrders an array specifying whether upper-case, lower-case
- * or neither is to take precedence for each sort level.
- * The value of each element is equal to one of
- * <code>"upper-first", "lower-first", or ""</code>.
- */
- SortSettings(AbstractTranslet translet, int[] sortOrders, int[] types,
- Locale[] locales, Collator[] collators, String[] caseOrders) {
- _translet = translet;
- _sortOrders = sortOrders;
- _types = types;
- _locales = locales;
- _collators = collators;
- _caseOrders = caseOrders;
- }
-
- /**
- * @return A reference to the translet object for the transformation.
- */
- AbstractTranslet getTranslet() {
- return _translet;
- }
-
- /**
- * @return An array containing the sort order (ascending or descending)
- * for each level of <code>xsl:sort</code>
- */
- int[] getSortOrders() {
- return _sortOrders;
- }
-
- /**
- * @return An array containing the type of comparison (text or number)
- * to perform for each level of <code>xsl:sort</code>
- */
- int[] getTypes() {
- return _types;
- }
-
- /**
- * @return An array containing the Locale object in effect for each level
- * of <code>xsl:sort</code>
- */
- Locale[] getLocales() {
- return _locales;
- }
-
- /**
- * @return An array containing the Collator object in effect for each level
- * of <code>xsl:sort</code>
- */
- Collator[] getCollators() {
- return _collators;
- }
-
- /**
- * @return An array specifying the case ordering for each level of
- * <code>xsl:sort</code>.
- */
- String[] getCaseOrders() {
- return _caseOrders;
- }
- }