View Javadoc

1   /**
2    * Copyright (c) 2011, University of Konstanz, Distributed Systems Group
3    * All rights reserved.
4    * 
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions are met:
7    * * Redistributions of source code must retain the above copyright
8    * notice, this list of conditions and the following disclaimer.
9    * * Redistributions in binary form must reproduce the above copyright
10   * notice, this list of conditions and the following disclaimer in the
11   * documentation and/or other materials provided with the distribution.
12   * * Neither the name of the University of Konstanz nor the
13   * names of its contributors may be used to endorse or promote products
14   * derived from this software without specific prior written permission.
15   * 
16   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18   * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19   * DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
20   * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25   * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26   */
27  
28  package org.treetank.service.xml.xpath.parser;
29  
30  /**
31   * <h1>XPathToken</h1>
32   * <p>
33   * Categorized block of text.
34   * </p>
35   */
36  public final class VariableXPathToken implements IXPathToken {
37  
38      /**
39       * The content of the token, a text sequence that represents a text, a
40       * number, a special character etc.
41       */
42      private final String mContent;
43  
44      /** Specifies the type that the content of the token has. */
45      private final TokenType mType;
46  
47      /**
48       * Constructor initializing internal state.
49       * 
50       * @param mStr
51       *            the content of the token
52       * @param mType
53       *            the type of the token
54       */
55      public VariableXPathToken(final String mStr, final TokenType mType) {
56          this.mContent = mStr;
57          this.mType = mType;
58      }
59  
60      /**
61       * Gets the content of the token.
62       * 
63       * @return the content
64       */
65      public String getContent() {
66  
67          return mContent;
68      }
69  
70      /**
71       * Gets the type of the token.
72       * 
73       * @return the type
74       */
75      public TokenType getType() {
76  
77          return mType;
78      }
79  
80      /**
81       * {@inheritDoc}
82       */
83      @Override
84      public String toString() {
85          return new StringBuilder(mType.toString()).append(":").append(mContent).toString();
86      }
87  
88  }