19f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/*
29f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Licensed to the Apache Software Foundation (ASF) under one
39f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * or more contributor license agreements. See the NOTICE file
49f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * distributed with this work for additional information
59f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * regarding copyright ownership. The ASF licenses this file
69f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * to you under the Apache License, Version 2.0 (the  "License");
79f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * you may not use this file except in compliance with the License.
89f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * You may obtain a copy of the License at
99f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *
109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *     http://www.apache.org/licenses/LICENSE-2.0
119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *
129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Unless required by applicable law or agreed to in writing, software
139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS,
149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * See the License for the specific language governing permissions and
169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * limitations under the License.
179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */
189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/*
199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * $Id: Axis.java 468653 2006-10-28 07:07:05Z minchau $
209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */
219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonpackage org.apache.xml.dtm;
229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/**
249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Specifies values related to XPath Axes.
259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * <p>The ancestor, descendant, following, preceding and self axes partition a
269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * document (ignoring attribute and namespace nodes): they do not overlap
279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * and together they contain all the nodes in the document.</p>
289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *
299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */
309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonpublic final class Axis
319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson{
329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * The ancestor axis contains the ancestors of the context node;
359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  the ancestors of the context node consist of the parent of context
369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  node and the parent's parent and so on; thus, the ancestor axis will
379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  always include the root node, unless the context node is the root node.
389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int ANCESTOR = 0;
409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * the ancestor-or-self axis contains the context node and the ancestors of
439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  the context node; thus, the ancestor axis will always include the
449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  root node.
459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int ANCESTORORSELF = 1;
479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * the attribute axis contains the attributes of the context node; the axis
509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  will be empty unless the context node is an element.
519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int ATTRIBUTE = 2;
539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /** The child axis contains the children of the context node. */
559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int CHILD = 3;
569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * The descendant axis contains the descendants of the context node;
599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  a descendant is a child or a child of a child and so on; thus the
609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  descendant axis never contains attribute or namespace nodes.
619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int DESCENDANT = 4;
639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * The descendant-or-self axis contains the context node and the
669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  descendants of the context node.
679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int DESCENDANTORSELF = 5;
699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * the following axis contains all nodes in the same document as the
729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  context node that are after the context node in document order, excluding
739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  any descendants and excluding attribute nodes and namespace nodes.
749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int FOLLOWING = 6;
769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * The following-sibling axis contains all the following siblings of the
799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  context node; if the context node is an attribute node or namespace node,
809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  the following-sibling axis is empty.
819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int FOLLOWINGSIBLING = 7;
839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * The namespace axis contains the namespace nodes of the context node; the
869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  axis will be empty unless the context node is an element.
879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int NAMESPACEDECLS = 8;
899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * The namespace axis contains the namespace nodes of the context node; the
929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  axis will be empty unless the context node is an element.
939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int NAMESPACE = 9;
959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * The parent axis contains the parent of the context node,
989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  if there is one.
999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int PARENT = 10;
1019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * The preceding axis contains all nodes in the same document as the context
1049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  node that are before the context node in document order, excluding any
1059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  ancestors and excluding attribute nodes and namespace nodes
1069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int PRECEDING = 11;
1089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * The preceding-sibling axis contains all the preceding siblings of the
1119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  context node; if the context node is an attribute node or namespace node,
1129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  the preceding-sibling axis is empty.
1139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int PRECEDINGSIBLING = 12;
1159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /** The self axis contains just the context node itself. */
1179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int SELF = 13;
1189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * A non-xpath axis, traversing the subtree including the subtree
1219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   *  root, descendants, attributes, and namespace node decls.
1229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int ALLFROMNODE = 14;
1249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * A non-xpath axis, traversing the the preceding and the ancestor nodes,
1279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * needed for inverseing select patterns to match patterns.
1289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int PRECEDINGANDANCESTOR = 15;
1309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  // ===========================================
1329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  // All axis past this are absolute.
1339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * A non-xpath axis, returns all nodes in the tree from and including the
1369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * root.
1379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int ALL = 16;
1399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * A non-xpath axis, returns all nodes that aren't namespaces or attributes,
1429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * from and including the root.
1439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int DESCENDANTSFROMROOT = 17;
1459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * A non-xpath axis, returns all nodes that aren't namespaces or attributes,
1489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * from and including the root.
1499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int DESCENDANTSORSELFFROMROOT = 18;
1519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * A non-xpath axis, returns root only.
1549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int ROOT = 19;
1569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * A non-xpath axis, for functions.
1599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static final int FILTEREDLIST = 20;
1619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /**
1639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   * A table to identify whether an axis is a reverse axis;
1649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson   */
1659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  private static final boolean[] isReverse = {
1669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      true,  // ancestor
1679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      true,  // ancestor-or-self
1689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false, // attribute
1699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false, // child
1709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false, // descendant
1719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false, // descendant-or-self
1729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false, // following
1739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false, // following-sibling
1749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false, // namespace
1759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false, // namespace-declarations
1769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false, // parent (one node, has no order)
1779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      true,  // preceding
1789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      true,  // preceding-sibling
1799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      false  // self (one node, has no order)
1809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  };
1819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
1829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    /** The names of the axes for diagnostic purposes. */
1839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    private static final String[] names =
1849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    {
1859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "ancestor",  // 0
1869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "ancestor-or-self",  // 1
1879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "attribute",  // 2
1889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "child",  // 3
1899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "descendant",  // 4
1909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "descendant-or-self",  // 5
1919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "following",  // 6
1929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "following-sibling",  // 7
1939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "namespace-decls",  // 8
1949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "namespace",  // 9
1959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "parent",  // 10
1969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "preceding",  // 11
1979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "preceding-sibling",  // 12
1989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "self",  // 13
1999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "all-from-node",  // 14
2009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "preceding-and-ancestor",  // 15
2019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "all",  // 16
2029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "descendants-from-root",  // 17
2039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "descendants-or-self-from-root",  // 18
2049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "root",  // 19
2059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      "filtered-list"  // 20
2069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    };
2079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
2089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  public static boolean isReverse(int axis){
2099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      return isReverse[axis];
2109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  }
2119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
2129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    public static String getNames(int index){
2139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    	return names[index];
2149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    }
2159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
2169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    public static int getNamesLength(){
2179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    	return names.length;
2189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    }
2199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
2209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson}
221