⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsonelement.java

📁 地图生成的一个文件
💻 JAVA
字号:
/* * Copyright (C) 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.gson;import java.io.IOException;import java.math.BigDecimal;import java.math.BigInteger;/** * A class representing an element of Json. It could either be a {@link JsonObject}, a * {@link JsonArray}, a {@link JsonPrimitive} or a {@link JsonNull}. * * @author Inderjeet Singh * @author Joel Leitch */public abstract class JsonElement {  /**   * provides check for verifying if this element is an array or not.   *   * @return true if this element is of type {@link JsonArray}, false otherwise.   */  public boolean isJsonArray() {    return this instanceof JsonArray;  }  /**   * provides check for verifying if this element is a Json object or not.   *   * @return true if this element is of type {@link JsonObject}, false otherwise.   */  public boolean isJsonObject() {    return this instanceof JsonObject;  }  /**   * provides check for verifying if this element is a primitive or not.   *   * @return true if this element is of type {@link JsonPrimitive}, false otherwise.   */  public boolean isJsonPrimitive() {    return this instanceof JsonPrimitive;  }  /**   * provides check for verifying if this element represents a null value or not.   *   * @return true if this element is of type {@link JsonNull}, false otherwise.   * @since 1.2   */  public boolean isJsonNull() {    return this instanceof JsonNull;  }  /**   * convenience method to get this element as a {@link JsonObject}. If the element is of some   * other type, a {@link ClassCastException} will result. Hence it is best to use this method   * after ensuring that this element is of the desired type by calling {@link #isJsonObject()}   * first.   *   * @return get this element as a {@link JsonObject}.   * @throws IllegalStateException if the element is of another type.   */  public JsonObject getAsJsonObject() {    if (isJsonObject()) {      return (JsonObject) this;    } else {      throw new IllegalStateException("This is not a JSON Object.");    }  }  /**   * convenience method to get this element as a {@link JsonArray}. If the element is of some   * other type, a {@link ClassCastException} will result. Hence it is best to use this method   * after ensuring that this element is of the desired type by calling {@link #isJsonArray()}   * first.   *   * @return get this element as a {@link JsonArray}.   * @throws IllegalStateException if the element is of another type.   */  public JsonArray getAsJsonArray() {    if (isJsonArray()) {      return (JsonArray) this;    } else {      throw new IllegalStateException("This is not a JSON Array.");    }  }  /**   * convenience method to get this element as a {@link JsonPrimitive}. If the element is of some   * other type, a {@link ClassCastException} will result. Hence it is best to use this method   * after ensuring that this element is of the desired type by calling {@link #isJsonPrimitive()}   * first.   *   * @return get this element as a {@link JsonPrimitive}.   * @throws IllegalStateException if the element is of another type.   */  public JsonPrimitive getAsJsonPrimitive() {    if (isJsonPrimitive()) {      return (JsonPrimitive) this;    } else {      throw new IllegalStateException("This is not a JSON Primitive.");    }  }  /**   * convenience method to get this element as a {@link JsonNull}. If the element is of some   * other type, a {@link ClassCastException} will result. Hence it is best to use this method   * after ensuring that this element is of the desired type by calling {@link #isJsonNull()}   * first.   *   * @return get this element as a {@link JsonNull}.   * @throws IllegalStateException if the element is of another type.   * @since 1.2   */  public JsonNull getAsJsonNull() {    if (isJsonNull()) {      return (JsonNull) this;    } else {      throw new IllegalStateException("This is not a JSON Null.");    }  }  /**   * convenience method to get this element as a boolean value.   *   * @return get this element as a primitive boolean value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * boolean value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  public boolean getAsBoolean() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a {@link Boolean} value.   *   * @return get this element as a {@link Boolean} value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * boolean value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  Boolean getAsBooleanWrapper() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a {@link Number}.   *   * @return get this element as a {@link Number}.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * number.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  public Number getAsNumber() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a string value.   *   * @return get this element as a string value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * string value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  public String getAsString() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a primitive double value.   *   * @return get this element as a primitive double value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * double value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  public double getAsDouble() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a primitive float value.   *   * @return get this element as a primitive float value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * float value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  public float getAsFloat() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a primitive long value.   *   * @return get this element as a primitive long value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * long value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  public long getAsLong() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a primitive integer value.   *   * @return get this element as a primitive integer value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * integer value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  public int getAsInt() {    throw new UnsupportedOperationException();  }    /**   * convenience method to get this element as a primitive byte value.   *   * @return get this element as a primitive byte value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * byte value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   * @since 1.3   */  public byte getAsByte() {    throw new UnsupportedOperationException();  }    /**   * convenience method to get this element as a primitive character value.   *   * @return get this element as a primitive char value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * char value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   * @since 1.3   */  public char getAsCharacter() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a {@link BigDecimal}.   *   * @return get this element as a {@link BigDecimal}.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive}.   * * @throws NumberFormatException if the element is not a valid {@link BigDecimal}.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   * @since 1.2   */  public BigDecimal getAsBigDecimal() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a {@link BigInteger}.   *   * @return get this element as a {@link BigInteger}.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive}.   * @throws NumberFormatException if the element is not a valid {@link BigInteger}.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   * @since 1.2   */  public BigInteger getAsBigInteger() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as a primitive short value.   *   * @return get this element as a primitive short value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * short value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  public short getAsShort() {    throw new UnsupportedOperationException();  }  /**   * convenience method to get this element as an {@link Object} value.   *   * @return get this element as an Object value.   * @throws ClassCastException if the element is of not a {@link JsonPrimitive} and is not a valid   * Object value.   * @throws IllegalStateException if the element is of the type {@link JsonArray} but contains   * more than a single element.   */  Object getAsObject() {    throw new UnsupportedOperationException();  }  /**   * Returns a String representation of this element.   *   * @return String the string representation of this element.   */  @Override  public String toString() {    try {      StringBuilder sb = new StringBuilder();      toString(sb);      return sb.toString();    } catch (IOException e) {      throw new RuntimeException(e);    }  }  protected abstract void toString(Appendable sb) throws IOException;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -