org.apache.openjpa.kernel.exps.Value.setMetaData()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(10.4k)|赞(0)|评价(0)|浏览(76)

本文整理了Java中org.apache.openjpa.kernel.exps.Value.setMetaData()方法的一些代码示例,展示了Value.setMetaData()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Value.setMetaData()方法的具体详情如下:
包路径:org.apache.openjpa.kernel.exps.Value
类名称:Value
方法名:setMetaData

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);
}

相关文章