package com.jsoniter;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public class Any {
private final Object val;
public Object lastAccessed;
public Any(Object val) {
this.val = val;
}
public ValueType getValueType(Object... keys) {
try {
lastAccessed = getPath(val, keys);
if (lastAccessed == null) {
return ValueType.NULL;
}
Class> clazz = lastAccessed.getClass();
if (clazz == String.class) {
return ValueType.STRING;
}
if (clazz.isArray()) {
return ValueType.ARRAY;
}
if (lastAccessed instanceof Number) {
return ValueType.NUMBER;
}
if (lastAccessed instanceof List) {
return ValueType.ARRAY;
}
return ValueType.OBJECT;
} catch (ClassCastException e) {
return ValueType.INVALID;
} catch (IndexOutOfBoundsException e) {
return ValueType.INVALID;
}
}
public Map getMap(Object... keys) {
return get(keys);
}
public List