package org.zbus.common.json.parser;
import java.lang.reflect.Type;
public class ParseContext {
private Object object;
private final ParseContext parent;
private final Object fieldName;
private Type type;
public ParseContext(ParseContext parent, Object object, Object fieldName){
super();
this.parent = parent;
this.object = object;
this.fieldName = fieldName;
}
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
public Object getObject() {
return object;
}
public void setObject(Object object) {
this.object = object;
}
public ParseContext getParentContext() {
return parent;
}
public String getPath() {
if (parent == null) {
return "$";
} else {
if (fieldName instanceof Integer) {
return parent.getPath() + "[" + fieldName + "]";
} else {
return parent.getPath() + "." + fieldName;
}
}
}
public String toString() {
return this.getPath();
}
}