package cn.citycraft.GsonAgent.api;

import java.util.Map;
import java.util.Set;

/**
 *
 * @since 2016年1月5日 下午1:13:20
 * @author 喵♂呜
 */
public abstract interface JsonObject extends JsonElement {
	public void add(String property, JsonElement value);

	public void addProperty(String property, Boolean value);

	public void addProperty(String property, Character value);

	public void addProperty(String property, Number value);

	public void addProperty(String property, String value);

	@Override
	public JsonObject deepCopy();

	public Set<Map.Entry<String, JsonElement>> entrySet();

	@Override
	public boolean equals(Object o);

	public JsonElement get(String memberName);

	public JsonArray getAsJsonArray(String memberName);

	public JsonObject getAsJsonObject(String memberName);

	public JsonPrimitive getAsJsonPrimitive(String memberName);

	public boolean has(String memberName);

	@Override
	public int hashCode();

	public JsonElement remove(String property);
}
