
net.cassite.daf4j.ds.ObjectResolver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of daf4j-api Show documentation
Show all versions of daf4j-api Show documentation
A library provides facade api for data accessing.
The newest version!
package net.cassite.daf4j.ds;
import net.cassite.daf4j.Condition;
import net.cassite.daf4j.IData;
import net.cassite.daf4j.IExpression;
import net.cassite.daf4j.PreResult;
/**
* 对象Resolver,用于自动调用conditionResolver,expressionResolver,entityDataParser的方法
*
* @param 上下文
* @param 基本元素
* @see ConditionResolver
* @see ExpressionResolver
* @see ParserPacket
*/
public class ObjectResolver {
private ConditionResolver conditionResolver;
private ExpressionResolver expressionResolver;
private EntityDataParser entityDataParser;
private ParserPacket parserPacket;
ObjectResolver(ConditionResolver conditionResolver,
ExpressionResolver expressionResolver,
ParserPacket parserPacket) {
this.conditionResolver = conditionResolver;
this.expressionResolver = expressionResolver;
this.entityDataParser = parserPacket.entityDataParser;
this.parserPacket = parserPacket;
}
public BasicElement resolve(Context context, Object o) throws Exception {
if (o instanceof Condition) {
return conditionResolver.resolve(context, (Condition) o);
} else if (o instanceof IExpression) {
return expressionResolver.resolve(context, (IExpression) o);
} else if (o instanceof IData) {
return entityDataParser.parseData(context, (IData>) o);
} else if (o instanceof PreResult) {
return entityDataParser.parseQuery(context, (PreResult>) o, parserPacket);
} else {
String s = o.getClass().getName();
if (s.startsWith("java.") || s.startsWith("javax.")) {
return entityDataParser.parsePlain(context, o);
} else {
return entityDataParser.parseEntity(context, o);
}
}
}
public ConditionResolver getConditionResolver() {
return conditionResolver;
}
public ExpressionResolver getExpressionResolver() {
return expressionResolver;
}
public EntityDataParser getEntityDataParser() {
return entityDataParser;
}
@SuppressWarnings("unchecked")
public ParserPacket getParserPacket() {
return (ParserPacket) parserPacket;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy