import static org.jboss.errai.common.client.types.TypeDemarshallers.hasDemarshaller;
public class JSONDecoderCli {
public static Object decode(Object value) {
DecodingContext ctx = new DecodingContext();
Object v = null;
if (value instanceof String) {
v = _decode(JSONParser.parseStrict((String) value), ctx);
}
else if (value instanceof JSONValue) {
v = _decode((JSONValue) value, ctx);
}
else if (value != null) {
throw new RuntimeException("could not decode type: " + value.getClass());
}
if (ctx.isUnsatisfiedDependencies()) {
JSONTypeHelper.resolveDependencies(ctx);
}
return v;
}