001/*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *     http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package org.apache.commons.el;
018
019/**
020 *
021 * <p>An expression representing a boolean literal value
022 * 
023 * @author Nathan Abramson - Art Technology Group
024 * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: bayard $
025 **/
026
027public class BooleanLiteral
028  extends Literal
029{
030  //-------------------------------------
031  // Member variables
032  //-------------------------------------
033
034  public static final BooleanLiteral TRUE = new BooleanLiteral ("true");
035  public static final BooleanLiteral FALSE = new BooleanLiteral ("false");
036
037  //-------------------------------------
038  /**
039   *
040   * Constructor
041   **/
042  public BooleanLiteral (String pToken)
043  {
044    super (getValueFromToken (pToken));
045  }
046
047  //-------------------------------------
048  /**
049   *
050   * Parses the given token into the literal value
051   **/
052  static Object getValueFromToken (String pToken)
053  {
054    return
055      ("true".equals (pToken)) ?
056      Boolean.TRUE :
057      Boolean.FALSE;
058  }
059
060  //-------------------------------------
061  // Expression methods
062  //-------------------------------------
063  /**
064   *
065   * Returns the expression in the expression language syntax
066   **/
067  public String getExpressionString ()
068  {
069    return (getValue () == Boolean.TRUE) ? "true" : "false";
070  }
071
072  //-------------------------------------
073}