package cn.citycraft.GsonAgent.api;

import java.math.BigDecimal;
import java.math.BigInteger;

/**
 *
 * @since 2016年1月5日 下午1:12:35
 * @author 喵♂呜
 */
public abstract interface JsonElement {
	public JsonElement deepCopy();

	public BigDecimal getAsBigDecimal();

	public BigInteger getAsBigInteger();

	public boolean getAsBoolean();

	public byte getAsByte();

	public char getAsCharacter();

	public double getAsDouble();

	public float getAsFloat();

	public int getAsInt();

	public JsonArray getAsJsonArray();

	public JsonNull getAsJsonNull();

	public JsonObject getAsJsonObject();

	public JsonPrimitive getAsJsonPrimitive();

	public long getAsLong();

	public Number getAsNumber();

	public short getAsShort();

	public String getAsString();

	public boolean isJsonArray();

	public boolean isJsonNull();

	public boolean isJsonObject();

	public boolean isJsonPrimitive();

	@Override
	public String toString();
}
