All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.gwt.json.client.JSONBoolean Maven / Gradle / Ivy

There is a newer version: 2.10.0
Show newest version
/*
 * Copyright 2008 Google Inc.
 * 
 * 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.
 */
package com.google.gwt.json.client;

import com.google.gwt.core.client.JavaScriptObject;

/**
 * Represents a JSON boolean value.
 */
public class JSONBoolean extends JSONValue {

  private static final JSONBoolean FALSE = new JSONBoolean(false);
  private static final JSONBoolean TRUE = new JSONBoolean(true);

  /**
   * Gets a reference to the singleton instance representing either
   * true or false.
   * 
   * @param b controls which value to get
   * @return if true, the JSONBoolean instance representing
   *         true is returned; otherwise, the JSONBoolean
   *         instance representing false is returned
   */
  public static JSONBoolean getInstance(boolean b) {
    if (b) {
      return TRUE;
    } else {
      return FALSE;
    }
  }

  /**
   * Called from {@link #getUnwrapper()}. 
   */
  private static boolean unwrap(JSONBoolean value) {
    return value.value;
  }

  private final boolean value;

  /*
   * This private constructor is used to build true and false.
   */
  private JSONBoolean(boolean value) {
    this.value = value;
  }

  /**
   * Returns true if this is the instance representing "true",
   * false otherwise.
   */
  public boolean booleanValue() {
    return value;
  }

  /**
   * Returns this, as this is a JSONBoolean.
   */
  @Override
  public JSONBoolean isBoolean() {
    return this;
  }

  /**
   * Returns "true" for the true value, and "false" for the false value.
   */
  @Override
  public String toString() {
    return Boolean.toString(value);
  }

  @Override
  native JavaScriptObject getUnwrapper() /*-{
    return @com.google.gwt.json.client.JSONBoolean::unwrap(Lcom/google/gwt/json/client/JSONBoolean;);
  }-*/;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy