com.querydsl.core.types.ExpressionUtils.path()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(6.2k)|赞(0)|评价(0)|浏览(169)

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

ExpressionUtils.path介绍

[英]Create a new Path expression
[中]创建新的路径表达式

代码示例

代码示例来源:origin: querydsl/querydsl

protected ComparablePath(Class<? extends T> type, PathMetadata metadata) {
  super(ExpressionUtils.path(type, metadata));
  this.pathMixin = (PathImpl<T>) mixin;
}

代码示例来源:origin: querydsl/querydsl

public BeanPath(Class<? extends T> type, PathMetadata metadata, @Nullable PathInits inits) {
  super(ExpressionUtils.path(type, metadata));
  this.pathMixin = (PathImpl<T>) mixin;
  this.inits = inits;
}

代码示例来源:origin: querydsl/querydsl

@SuppressWarnings("unchecked")
protected ArrayPath(Class<? super A> type, PathMetadata metadata) {
  super(ExpressionUtils.path((Class) type, metadata));
  this.pathMixin = (PathImpl<A>) mixin;
  this.componentType = Primitives.wrap((Class<E>) type.getComponentType());
}

代码示例来源:origin: querydsl/querydsl

/**
 * Create an alias expression with the given source and alias
 *
 * @param <D> type of expression
 * @param source source
 * @param alias alias
 * @return source as alias
 */
public static <D> Expression<D> as(Expression<D> source, String alias) {
  return as(source, path(source.getType(), alias));
}

代码示例来源:origin: querydsl/querydsl

/**
 * Create an alias for the expression
 *
 * @return alias expression
 */
public DslExpression<R> as(String alias) {
  return as(ExpressionUtils.path(getType(), alias));
}

代码示例来源:origin: querydsl/querydsl

/**
 * Create an alias for the expression
 *
 * @return alias expression
 */
@Override
public SimpleExpression<T> as(String alias) {
  return as(ExpressionUtils.path(getType(), alias));
}

代码示例来源:origin: querydsl/querydsl

/**
 * Create an alias for the expression
 *
 * @return alias expression
 */
public Expression<T> as(String alias) {
  return as(ExpressionUtils.path(getType(), alias));
}

代码示例来源:origin: querydsl/querydsl

/**
 * Create an alias for the expression
 *
 * @return this as alias
 */
public Expression<T> as(String alias) {
  return as(ExpressionUtils.path(getType(), alias));
}

代码示例来源:origin: querydsl/querydsl

/**
 * Create a {@code source as alias} expression
 *
 * @param source source
 * @param alias alias
 * @return source as alias
 */
public static <D> SimpleExpression<D> as(Expression<D> source, String alias) {
  return as(source, ExpressionUtils.path(source.getType(), alias));
}

代码示例来源:origin: querydsl/querydsl

/**
 * Create an alias for the expression
 *
 * @return this as alias
 */
public DslExpression<T> as(String alias) {
  return as(ExpressionUtils.path(getType(), alias));
}

代码示例来源:origin: querydsl/querydsl

/**
 * Create an alias for the expression
 *
 * @return this as alias
 */
public DslExpression<T> as(String alias) {
  return as(ExpressionUtils.path(getType(), alias));
}

代码示例来源:origin: querydsl/querydsl

@Override
public DateExpression<T> as(String alias) {
  return as(ExpressionUtils.path(getType(), alias));
}

代码示例来源:origin: querydsl/querydsl

@Test
public void parent_path() {
  Path<Object> person = ExpressionUtils.path(Object.class, "person");
  Path<String> name = ExpressionUtils.path(String.class, person, "name");
  assertEquals("person.name", name.toString());
}

代码示例来源:origin: querydsl/querydsl

@SuppressWarnings("unchecked")
@Test
public void array() {
  FactoryExpression<String[]> expr = Projections.array(String[].class,
      ExpressionUtils.path(String.class, "p1"), ExpressionUtils.path(String.class, "p2"));
  assertEquals(String[].class, expr.newInstance("1", "2").getClass());
}

代码示例来源:origin: querydsl/querydsl

@SuppressWarnings("unchecked")
@Test
public void not() {
  Path<?> o1 = ExpressionUtils.path(Object.class, "o1");
  Path<?> o2 = ExpressionUtils.path(Object.class, "o2");
  PredicateOperation template = ExpressionUtils.predicate(Ops.EQ, o1, o2);
  assertEquals("!(o1 = o2)", template.not().toString());
}

代码示例来源:origin: querydsl/querydsl

@SuppressWarnings("rawtypes")
private static <T> Path<T> replaceParent(Path<T> path, Path<?> parent) {
  PathMetadata metadata = new PathMetadata(parent, path.getMetadata().getElement(),
      path.getMetadata().getPathType());
  if (path instanceof CollectionExpression) {
    CollectionExpression<?,?> col = (CollectionExpression<?,?>) path;
    return (Path<T>) Expressions.listPath(col.getParameter(0), SimplePath.class, metadata);
  } else {
    return ExpressionUtils.path(path.getType(), metadata);
  }
}

代码示例来源:origin: querydsl/querydsl

@Test
public void operation() {
  Expression<String> str = Expressions.stringPath(ExpressionUtils.path(Object.class, "customer"), "name");
  Expression<String> str2 = Expressions.stringPath("str");
  Expression<String> concat = Expressions.stringOperation(Ops.CONCAT, str, str2);
  assertEquals("customer.name + str", concat.toString());
  assertEquals("customer_.name + str_", concat.accept(visitor, null).toString());
}

代码示例来源:origin: querydsl/querydsl

@Test
  public void templateExpression() {
    Expression<String> str = Expressions.stringPath(ExpressionUtils.path(Object.class, "customer"), "name");
    Expression<String> str2 = Expressions.stringPath("str");
    Expression<String> concat = Expressions.stringTemplate("{0} + {1}", str, str2);
    assertEquals("customer.name + str", concat.toString());
    assertEquals("customer_.name + str_", concat.accept(visitor, null).toString());
  }
}

代码示例来源:origin: querydsl/querydsl

public Expression<?> visit(Path<?> expr, @Nullable Void context) {
    if (expr.getMetadata().isRoot()) {
      return ExpressionUtils.path(expr.getType(), expr.getMetadata().getName() + "_");
    } else {
      return super.visit(expr, context);
    }
  }
};

代码示例来源:origin: querydsl/querydsl

@Test
public void roundtrip() throws Exception {
  Path<?> path = ExpressionUtils.path(Object.class, "entity");
  SimplePath<?> path2 = Expressions.path(Object.class, "entity");
  assertEquals(path, serialize(path));
  assertEquals(path2, serialize(path2));
  assertEquals(path2.isNull(), serialize(path2.isNull()));
  assertEquals(path.hashCode(), serialize(path).hashCode());
  assertEquals(path2.hashCode(), serialize(path2).hashCode());
  assertEquals(path2.isNull().hashCode(), serialize(path2.isNull()).hashCode());
}

相关文章