本文整理了Java中org.apache.openjpa.kernel.exps.Value.setMetaData()
方法的一些代码示例,展示了Value.setMetaData()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Value.setMetaData()
方法的具体详情如下:
包路径:org.apache.openjpa.kernel.exps.Value
类名称:Value
方法名:setMetaData
[英]Associate a persistent type with this value.
[中]将持久性类型与此值关联。
代码示例来源:origin: org.apache.openejb.patch/openjpa
@Override
public org.apache.openjpa.kernel.exps.Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Value v = Expressions.toValue(e, factory, q);
ClassMetaData meta = ((PathImpl<?,?>)e)._member.fmd.getElement().getTypeMetaData();
v.setMetaData(meta);
return factory.index(v);
}
代码示例来源:origin: org.apache.openejb.patch/openjpa-persistence
@Override
public org.apache.openjpa.kernel.exps.Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Value v = Expressions.toValue(e, factory, q);
ClassMetaData meta = ((PathImpl<?,?>)e)._member.fmd.getElement().getTypeMetaData();
v.setMetaData(meta);
return factory.index(v);
}
代码示例来源:origin: org.apache.openjpa/openjpa-all
@Override
public org.apache.openjpa.kernel.exps.Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Value v = Expressions.toValue(e, factory, q);
ClassMetaData meta = ((PathImpl<?,?>)e)._member.fmd.getElement().getTypeMetaData();
v.setMetaData(meta);
return factory.index(v);
}
代码示例来源:origin: org.apache.openjpa/openjpa-persistence
@Override
public org.apache.openjpa.kernel.exps.Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Value v = Expressions.toValue(e, factory, q);
ClassMetaData meta = ((PathImpl<?,?>)e)._member.fmd.getElement().getTypeMetaData();
v.setMetaData(meta);
return factory.index(v);
}
代码示例来源:origin: org.apache.openjpa/openjpa-all
public void addToContext(ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl<?> q) {
String alias = q.getAlias(this);
Value var = factory.newBoundVariable(alias, AbstractExpressionBuilder.TYPE_OBJECT);
var.setMetaData(_entity.meta);
Context currContext = q.ctx();
currContext.addSchema(alias, _entity.meta);
currContext.addVariable(alias, var);
if (currContext.schemaAlias == null)
currContext.schemaAlias = alias;
}
代码示例来源:origin: org.apache.openejb.patch/openjpa-persistence
public void addToContext(ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl<?> q) {
String alias = q.getAlias(this);
Value var = factory.newBoundVariable(alias, AbstractExpressionBuilder.TYPE_OBJECT);
var.setMetaData(_entity.meta);
Context currContext = q.ctx();
currContext.addSchema(alias, _entity.meta);
currContext.addVariable(alias, var);
if (currContext.schemaAlias == null)
currContext.schemaAlias = alias;
}
代码示例来源:origin: org.apache.openejb.patch/openjpa
public void addToContext(ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl<?> q) {
String alias = q.getAlias(this);
Value var = factory.newBoundVariable(alias, AbstractExpressionBuilder.TYPE_OBJECT);
var.setMetaData(_entity.meta);
Context currContext = q.ctx();
currContext.addSchema(alias, _entity.meta);
currContext.addVariable(alias, var);
if (currContext.schemaAlias == null)
currContext.schemaAlias = alias;
}
代码示例来源:origin: org.apache.openjpa/openjpa-persistence
public void addToContext(ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl<?> q) {
String alias = q.getAlias(this);
Value var = factory.newBoundVariable(alias, AbstractExpressionBuilder.TYPE_OBJECT);
var.setMetaData(_entity.meta);
Context currContext = q.ctx();
currContext.addSchema(alias, _entity.meta);
currContext.addVariable(alias, var);
if (currContext.schemaAlias == null)
currContext.schemaAlias = alias;
}
代码示例来源:origin: org.apache.openjpa/openjpa-persistence
protected void evalCrossJoinRoots(QueryExpressions exps, ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Set<Root<?>> roots = q.getRoots();
SubqueryImpl<?> subQuery = q.getDelegator();
if (subQuery == null || subQuery.getCorrelatedJoins().isEmpty()) {
q.assertRoot();
if (roots.size() > 1) { // cross join
for (Root<?> root : roots) {
String alias = q.getAlias(root);
Value var = factory.newBoundVariable(alias, AbstractExpressionBuilder.TYPE_OBJECT);
var.setMetaData(((AbstractManagedType<?>)root.getModel()).meta);
q.registerRoot(root, var);
}
}
}
}
代码示例来源:origin: org.apache.openejb.patch/openjpa
protected void evalCrossJoinRoots(QueryExpressions exps, ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Set<Root<?>> roots = q.getRoots();
SubqueryImpl<?> subQuery = q.getDelegator();
if (subQuery == null || subQuery.getCorrelatedJoins().isEmpty()) {
q.assertRoot();
if (roots.size() > 1) { // cross join
for (Root<?> root : roots) {
String alias = q.getAlias(root);
Value var = factory.newBoundVariable(alias, AbstractExpressionBuilder.TYPE_OBJECT);
var.setMetaData(((AbstractManagedType<?>)root.getModel()).meta);
q.registerRoot(root, var);
}
}
}
}
代码示例来源:origin: org.apache.openjpa/com.springsource.org.apache.openjpa
private Value getIdentifier(JPQLNode node) {
final String name = node.text;
final Value val = getVariable(name, false);
ClassMetaData cmd = getMetaDataForAlias(name);
if (cmd != null) {
// handle the case where the class name is the alias
// for the candidate (we don't use variables for this)
Value thiz = factory.getThis();
thiz.setMetaData(cmd);
return thiz;
} else if (val instanceof Path) {
return (Path) val;
} else if (val instanceof Value) {
return (Value) val;
}
throw parseException(EX_USER, "unknown-identifier",
new Object[]{ name }, null);
}
代码示例来源:origin: org.apache.openjpa/openjpa-all
protected void evalCrossJoinRoots(QueryExpressions exps, ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Set<Root<?>> roots = q.getRoots();
SubqueryImpl<?> subQuery = q.getDelegator();
if (subQuery == null || subQuery.getCorrelatedJoins().isEmpty()) {
q.assertRoot();
if (roots.size() > 1) { // cross join
for (Root<?> root : roots) {
String alias = q.getAlias(root);
Value var = factory.newBoundVariable(alias, AbstractExpressionBuilder.TYPE_OBJECT);
var.setMetaData(((AbstractManagedType<?>)root.getModel()).meta);
q.registerRoot(root, var);
}
}
}
}
代码示例来源:origin: org.apache.openejb.patch/openjpa-persistence
protected void evalCrossJoinRoots(QueryExpressions exps, ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Set<Root<?>> roots = q.getRoots();
SubqueryImpl<?> subQuery = q.getDelegator();
if (subQuery == null || subQuery.getCorrelatedJoins().isEmpty()) {
q.assertRoot();
if (roots.size() > 1) { // cross join
for (Root<?> root : roots) {
String alias = q.getAlias(root);
Value var = factory.newBoundVariable(alias, AbstractExpressionBuilder.TYPE_OBJECT);
var.setMetaData(((AbstractManagedType<?>)root.getModel()).meta);
q.registerRoot(root, var);
}
}
}
}
代码示例来源:origin: org.apache.openejb.patch/openjpa-kernel
protected Value createVariable(String id, boolean bind) {
// create and cache var
Class<?> type = getDeclaredVariableType(id);
// add this type to the set of classes in the filter's access path
ClassMetaData meta = null;
if (type == null)
type = TYPE_OBJECT;
else
meta = getMetaData(type, false);
if (meta != null) {
addAccessPath(meta);
addSchemaToContext(id, meta);
}
Value var = null;
if (bind)
var = factory.newBoundVariable(id, type);
else
var = factory.newUnboundVariable(id, type);
var.setMetaData(meta);
if (_seenVars == null)
_seenVars = new HashMap<String,Value>();
_seenVars.put(id, var);
addVariableToContext(id, var);
return var;
}
代码示例来源:origin: org.apache.openjpa/openjpa-kernel
protected Value createVariable(String id, boolean bind) {
// create and cache var
Class<?> type = getDeclaredVariableType(id);
// add this type to the set of classes in the filter's access path
ClassMetaData meta = null;
if (type == null)
type = TYPE_OBJECT;
else
meta = getMetaData(type, false);
if (meta != null) {
addAccessPath(meta);
addSchemaToContext(id, meta);
}
Value var = null;
if (bind)
var = factory.newBoundVariable(id, type);
else
var = factory.newUnboundVariable(id, type);
var.setMetaData(meta);
if (_seenVars == null)
_seenVars = new HashMap<String,Value>();
_seenVars.put(id, var);
addVariableToContext(id, var);
return var;
}
代码示例来源:origin: org.apache.openjpa/openjpa-kernel
private Value getTypeLiteral(JPQLNode node) {
JPQLNode type = onlyChild(node);
final String name = type.text;
final Value val = getVariable(name, false);
if (val instanceof Value && val.isVariable()) {
Class<?> c = resolver.classForName(name, null);
if (c != null) {
Value typeLit = factory.newTypeLiteral(c, Literal.TYPE_CLASS);
typeLit.setMetaData(getClassMetaData(name, false));
return typeLit;
}
}
throw parseException(EX_USER, "not-type-literal",
new Object[]{ name }, null);
}
代码示例来源:origin: org.apache.openejb.patch/openjpa-kernel
private Value getTypeLiteral(JPQLNode node) {
JPQLNode type = onlyChild(node);
final String name = type.text;
final Value val = getVariable(name, false);
if (val instanceof Value && val.isVariable()) {
Class<?> c = resolver.classForName(name, null);
if (c != null) {
Value typeLit = factory.newTypeLiteral(c, Literal.TYPE_CLASS);
typeLit.setMetaData(getClassMetaData(name, false));
return typeLit;
}
}
throw parseException(EX_USER, "not-type-literal",
new Object[]{ name }, null);
}
代码示例来源:origin: org.apache.openejb.patch/openjpa
private Value getTypeLiteral(JPQLNode node) {
JPQLNode type = onlyChild(node);
final String name = type.text;
final Value val = getVariable(name, false);
if (val instanceof Value && val.isVariable()) {
Class<?> c = resolver.classForName(name, null);
if (c != null) {
Value typeLit = factory.newTypeLiteral(c, Literal.TYPE_CLASS);
typeLit.setMetaData(getClassMetaData(name, false));
return typeLit;
}
}
throw parseException(EX_USER, "not-type-literal",
new Object[]{ name }, null);
}
代码示例来源:origin: org.apache.openjpa/openjpa-all
private Value getTypeLiteral(JPQLNode node) {
JPQLNode type = onlyChild(node);
final String name = type.text;
final Value val = getVariable(name, false);
if (val instanceof Value && val.isVariable()) {
Class<?> c = resolver.classForName(name, null);
if (c != null) {
Value typeLit = factory.newTypeLiteral(c, Literal.TYPE_CLASS);
typeLit.setMetaData(getClassMetaData(name, false));
return typeLit;
}
}
throw parseException(EX_USER, "not-type-literal",
new Object[]{ name }, null);
}
代码示例来源:origin: org.apache.openejb.patch/openjpa
private Expression addJoin(Path path, JPQLNode aliasNode,
Expression exp) {
FieldMetaData fmd = path.last();
if (fmd == null)
throw parseException(EX_USER, "path-no-meta",
new Object[]{ path, null }, null);
String alias = aliasNode != null ? aliasNode.text : nextAlias();
Value var = getVariable(alias, true);
var.setMetaData(getFieldType(fmd));
Expression join = null;
// if the variable is already bound, get the var's value and
// do a regular contains with that
boolean bound = isBound(var);
if (bound) {
var = getValue(aliasNode, VAR_PATH);
} else {
bind(var);
join = and(join, factory.bindVariable(var, path));
}
if (!fmd.isTypePC()) // multi-valued relation
{
if (bound)
join = and(join, factory.contains(path, var));
setImplicitContainsTypes(path, var, CONTAINS_TYPE_ELEMENT);
}
return and(exp, join);
}
内容来源于网络,如有侵权,请联系作者删除!