package cn.citycraft.GsonAgent.api;

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

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

	@Override
	public boolean equals(Object obj);

	@Override
	public BigDecimal getAsBigDecimal();

	@Override
	public BigInteger getAsBigInteger();

	@Override
	public boolean getAsBoolean();

	@Override
	public byte getAsByte();

	@Override
	public char getAsCharacter();

	@Override
	public double getAsDouble();

	@Override
	public float getAsFloat();

	@Override
	public int getAsInt();

	@Override
	public long getAsLong();

	@Override
	public Number getAsNumber();

	@Override
	public short getAsShort();

	@Override
	public String getAsString();

	@Override
	public int hashCode();

	public boolean isBoolean();

	public boolean isNumber();

	public boolean isString();

	void setValue(Object primitive);
}
