com.mysema.query.types.Operation.getOperator()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(12.5k)|赞(0)|评价(0)|浏览(94)

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

Operation.getOperator介绍

[英]Get the operator symbol for this operation
[中]获取此操作的运算符符号

代码示例

代码示例来源:origin: com.mysema.querydsl/querydsl-lucene

  1. private Path<?> getPath(Expression<?> leftHandSide) {
  2. if (leftHandSide instanceof Path<?>) {
  3. return (Path<?>)leftHandSide;
  4. } else if (leftHandSide instanceof Operation<?>) {
  5. Operation<?> operation = (Operation<?>) leftHandSide;
  6. if (operation.getOperator() == Ops.LOWER || operation.getOperator() == Ops.UPPER) {
  7. return (Path<?>)operation.getArg(0);
  8. }
  9. }
  10. throw new IllegalArgumentException("Unable to transform " + leftHandSide + " to path");
  11. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. @Override
  2. public Integer visit(Operation<?> expr, Void context) {
  3. int result = expr.getOperator().hashCode();
  4. return 31 * result + expr.getArgs().hashCode();
  5. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. private static ImmutableMap<Expression<?>, Integer> createBindings(List<Expression<?>> exprs) {
  2. Map<Expression<?>, Integer> map = Maps.newHashMap();
  3. for (int i = 0; i < exprs.size(); i++) {
  4. Expression<?> e = exprs.get(i);
  5. if (e instanceof Operation && ((Operation<?>)e).getOperator() == Ops.ALIAS) {
  6. map.put(((Operation<?>)e).getArg(1), i);
  7. }
  8. map.put(e, i);
  9. }
  10. return ImmutableMap.copyOf(map);
  11. }

代码示例来源:origin: com.mysema.rdf/rdfbean-core

  1. private List<Expression<?>> transformList(Expression<?> expr, List<Expression<?>> elements) {
  2. if (expr instanceof Operation<?> && ((Operation<?>) expr).getOperator() == Ops.LIST) {
  3. Operation<?> list = (Operation<?>) expr;
  4. transformList(list.getArg(0), elements);
  5. elements.add(list.getArg(1));
  6. } else {
  7. elements.add(expr);
  8. }
  9. return elements;
  10. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. @Override
  2. public final boolean equals(Object o) {
  3. if (o == this) {
  4. return true;
  5. } else if (o instanceof Operation<?>) {
  6. Operation<?> op = (Operation<?>)o;
  7. return op.getOperator() == operator
  8. && op.getArgs().equals(args)
  9. && op.getType().equals(getType());
  10. } else {
  11. return false;
  12. }
  13. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. public GroupImpl(List<GroupExpression<?, ?>> columnDefinitions, List<QPair<?, ?>> maps) {
  2. this.groupExpressions = columnDefinitions;
  3. this.maps = maps;
  4. for (int i=0; i < columnDefinitions.size(); i++) {
  5. GroupExpression<?, ?> coldef = columnDefinitions.get(i);
  6. GroupCollector<?,?> collector = groupCollectorMap.get(coldef.getExpression());
  7. if (collector == null) {
  8. collector = coldef.createGroupCollector();
  9. Expression<?> coldefExpr = coldef.getExpression();
  10. groupCollectorMap.put(coldefExpr, collector);
  11. if (coldefExpr instanceof Operation && ((Operation)coldefExpr).getOperator() == Ops.ALIAS) {
  12. groupCollectorMap.put(((Operation)coldefExpr).getArg(1), collector);
  13. }
  14. }
  15. groupCollectors.add(collector);
  16. }
  17. }

代码示例来源:origin: com.mysema.querydsl/querydsl-collections

  1. private List<?> project(QueryMetadata metadata, List<Expression<?>> sources, List<?> list) {
  2. Expression<?> projection = metadata.getProjection().get(0);
  3. Operator<?> aggregator = null;
  4. if (projection instanceof Operation && Ops.aggOps.contains(((Operation)projection).getOperator())) {
  5. Operation<?> aggregation = (Operation<?>)projection;
  6. aggregator = aggregation.getOperator();
  7. projection = aggregation.getArg(0);
  8. }
  9. Evaluator projectionEvaluator = evaluatorFactory.create(metadata, sources, projection);
  10. EvaluatorFunction transformer = new EvaluatorFunction(projectionEvaluator);
  11. List target = new ArrayList();
  12. Iterators.addAll(target, Iterators.transform(list.iterator(), transformer));
  13. if (aggregator != null) {
  14. return ImmutableList.of(CollQueryFunctions.aggregate(target, projection, aggregator));
  15. } else {
  16. return target;
  17. }
  18. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. AbstractGroupByTransformer(Expression<K> key, Expression<?>... expressions) {
  2. List<Expression<?>> projection = new ArrayList<Expression<?>>(expressions.length);
  3. groupExpressions.add(new GOne<K>(key));
  4. projection.add(key);
  5. for (Expression<?> expr : expressions) {
  6. if (expr instanceof GroupExpression<?,?>) {
  7. GroupExpression<?,?> groupExpr = (GroupExpression<?,?>)expr;
  8. groupExpressions.add(groupExpr);
  9. Expression<?> colExpression = groupExpr.getExpression();
  10. if (colExpression instanceof Operation && ((Operation)colExpression).getOperator() == Ops.ALIAS) {
  11. projection.add(((Operation)colExpression).getArg(0));
  12. } else {
  13. projection.add(colExpression);
  14. }
  15. if (groupExpr instanceof GMap) {
  16. maps.add((QPair<?, ?>) colExpression);
  17. }
  18. } else {
  19. groupExpressions.add(new GOne(expr));
  20. projection.add(expr);
  21. }
  22. }
  23. this.expressions = projection.toArray(new Expression[projection.size()]);
  24. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. @Override
  2. public Expression<?> visit(Operation<?> expr, @Nullable Void context) {
  3. ImmutableList<Expression<?>> args = visit(expr.getArgs());
  4. if (args.equals(expr.getArgs())) {
  5. return expr;
  6. } else if (expr instanceof Predicate) {
  7. return new PredicateOperation((Operator)expr.getOperator(), args);
  8. } else {
  9. return new OperationImpl(expr.getType(), expr.getOperator(), args);
  10. }
  11. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. @Override
  2. public Void visit(Operation<?> expr, Void context) {
  3. visitOperation(expr.getType(), expr.getOperator(), expr.getArgs());
  4. return null;
  5. }

代码示例来源:origin: com.mysema.querydsl/querydsl-hql

  1. @SuppressWarnings("unchecked")
  2. private <T> Expr<?> regexToLike(Operation<T> operation) {
  3. List<Expr<?>> args = new ArrayList<Expr<?>>();
  4. for (Expr<?> arg : operation.getArgs()){
  5. if (!arg.getType().equals(String.class)){
  6. args.add(arg);
  7. }else if (arg instanceof Constant){
  8. args.add(regexToLike(arg.toString()));
  9. }else if (arg instanceof Operation){
  10. args.add(regexToLike((Operation)arg));
  11. }else{
  12. args.add(arg);
  13. }
  14. }
  15. return OSimple.create(
  16. operation.getType(),
  17. operation.getOperator(),
  18. args.<Expr<?>>toArray(new Expr[args.size()]));
  19. }

代码示例来源:origin: com.mysema.querydsl/querydsl-lucene

  1. /**
  2. * template method
  3. *
  4. * @param leftHandSide
  5. * @param rightHandSide
  6. * @return
  7. */
  8. protected String[] convert(Path<?> leftHandSide, Expression<?> rightHandSide, QueryMetadata metadata) {
  9. if (rightHandSide instanceof Operation) {
  10. Operation<?> operation = (Operation<?>)rightHandSide;
  11. if (operation.getOperator() == LuceneExpressions.PHRASE) {
  12. return Iterables.toArray(WS_SPLITTER.split(operation.getArg(0).toString()), String.class);
  13. } else if (operation.getOperator() == LuceneExpressions.TERM) {
  14. return new String[] { operation.getArg(0).toString() };
  15. } else {
  16. throw new IllegalArgumentException(rightHandSide.toString());
  17. }
  18. } else if (rightHandSide instanceof ParamExpression<?>) {
  19. Object value = metadata.getParams().get(rightHandSide);
  20. if (value == null) {
  21. throw new ParamNotSetException((ParamExpression<?>) rightHandSide);
  22. }
  23. return convert(leftHandSide, value);
  24. } else if (rightHandSide instanceof Constant<?>) {
  25. return convert(leftHandSide, ((Constant<?>)rightHandSide).getConstant());
  26. } else {
  27. throw new IllegalArgumentException(rightHandSide.toString());
  28. }
  29. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. @Override
  2. public String visit(Operation<?> o, Templates templates) {
  3. final Template template = templates.getTemplate(o.getOperator());
  4. if (template != null) {
  5. final int precedence = templates.getPrecedence(o.getOperator());
  6. final StringBuilder builder = new StringBuilder();
  7. for (Template.Element element : template.getElements()) {
  8. final Object rv = element.convert(o.getArgs());
  9. if (rv instanceof Expression) {
  10. if (precedence > -1 && rv instanceof Operation) {
  11. if (precedence < templates.getPrecedence(((Operation<?>)rv).getOperator())) {
  12. builder.append("(");
  13. builder.append(((Expression)rv).accept(this, templates));
  14. builder.append(")");
  15. continue;
  16. }
  17. }
  18. builder.append(((Expression)rv).accept(this, templates));
  19. } else {
  20. builder.append(rv.toString());
  21. }
  22. }
  23. return builder.toString();
  24. } else {
  25. return "unknown operation with operator " + o.getOperator().getId() + " and args " + o.getArgs();
  26. }
  27. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. @SuppressWarnings("unchecked")
  2. @Override
  3. public Expression<?> visit(Operation<?> expr, Context context) {
  4. final Expression<?>[] args = new Expression<?>[expr.getArgs().size()];
  5. for (int i = 0; i < args.length; i++) {
  6. Context c = new Context();
  7. args[i] = expr.getArg(i).accept(this, c);
  8. context.add(c);
  9. }
  10. if (context.replace) {
  11. if (expr.getType().equals(Boolean.class)) {
  12. Predicate predicate = new PredicateOperation((Operator)expr.getOperator(), ImmutableList.copyOf(args));
  13. return !context.paths.isEmpty() ? exists(context, predicate) : predicate;
  14. } else {
  15. return new OperationImpl(expr.getType(), expr.getOperator(), ImmutableList.copyOf(args));
  16. }
  17. } else {
  18. return expr;
  19. }
  20. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. @SuppressWarnings("rawtypes")
  2. @Override
  3. public Expression<?> visit(Operation<?> expr, Context context) {
  4. Expression<?>[] args = new Expression<?>[expr.getArgs().size()];
  5. for (int i = 0; i < args.length; i++) {
  6. Context c = new Context();
  7. args[i] = expr.getArg(i).accept(this, c);
  8. context.add(c);
  9. }
  10. if (context.replace) {
  11. if (expr.getType().equals(Boolean.class)) {
  12. Predicate predicate = new PredicateOperation((Operator<Boolean>)expr.getOperator(), ImmutableList.copyOf(args));
  13. return !context.paths.isEmpty() ? exists(context, predicate) : predicate;
  14. } else {
  15. return new OperationImpl(expr.getType(), expr.getOperator(), ImmutableList.copyOf(args));
  16. }
  17. } else {
  18. return expr;
  19. }
  20. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. @Override
  2. public BooleanExpression exists() {
  3. if (queryMixin.getMetadata().getJoins().isEmpty()) {
  4. throw new IllegalArgumentException("No sources given");
  5. }
  6. Expression<?> expr = queryMixin.getMetadata().getJoins().get(0).getTarget();
  7. if (expr instanceof Operation && ((Operation)expr).getOperator() == Ops.ALIAS) {
  8. expr = ((Operation)expr).getArg(1);
  9. }
  10. return unique(expr).exists();
  11. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. @Override
  2. public Set<Expression<?>> visit(Operation<?> expr, Set<Expression<?>> known) {
  3. if (expr.getOperator() == Ops.ALIAS) {
  4. known = add(known, expr.getArg(1));
  5. }
  6. for (Expression<?> arg : expr.getArgs()) {
  7. known = arg.accept(this, known);
  8. }
  9. return known;
  10. }

代码示例来源:origin: com.mysema.querydsl/querydsl-jdo

  1. @SuppressWarnings("unchecked")
  2. @Override
  3. public NumberSubQuery<Long> count() {
  4. Expression<?> target = queryMixin.getMetadata().getJoins().get(0).getTarget();
  5. if (target instanceof Operation && ((Operation)target).getOperator() == Ops.ALIAS) {
  6. target = ((Operation)target).getArg(1);
  7. }
  8. return unique(NumberOperation.create(Long.class, Ops.AggOps.COUNT_AGG, target));
  9. }

代码示例来源:origin: com.mysema.querydsl/querydsl-core

  1. private static ImmutableMap<String,Expression<?>> createBindings(Expression<?>... args) {
  2. ImmutableMap.Builder<String, Expression<?>> rv = ImmutableMap.builder();
  3. for (Expression<?> expr : args) {
  4. if (expr instanceof Path<?>) {
  5. Path<?> path = (Path<?>)expr;
  6. rv.put(path.getMetadata().getName(), expr);
  7. } else if (expr instanceof Operation<?>) {
  8. Operation<?> operation = (Operation<?>)expr;
  9. if (operation.getOperator() == Ops.ALIAS && operation.getArg(1) instanceof Path<?>) {
  10. Path<?> path = (Path<?>)operation.getArg(1);
  11. if (isCompoundExpression(operation.getArg(0))) {
  12. rv.put(path.getMetadata().getName(), operation.getArg(0));
  13. } else {
  14. rv.put(path.getMetadata().getName(), operation);
  15. }
  16. } else {
  17. throw new IllegalArgumentException("Unsupported expression " + expr);
  18. }
  19. } else {
  20. throw new IllegalArgumentException("Unsupported expression " + expr);
  21. }
  22. }
  23. return rv.build();
  24. }

代码示例来源:origin: com.mysema.rdf/rdfbean-core

  1. @SuppressWarnings("unchecked")
  2. private Operation<?> transformPathEqNeConstant(Operation<?> operation) {
  3. Path<?> path = (Path<?>) operation.getArg(0);
  4. Constant<?> constant = (Constant<?>) operation.getArg(1);
  5. MappedPath mappedPath = getMappedPath(path);
  6. // id property
  7. if (path.getMetadata().getPathType() == PathType.PROPERTY
  8. && constant.getType().equals(String.class)
  9. && mappedPath.getPredicatePath().isEmpty()) {
  10. operation = PredicateOperation.create((Operator) operation.getOperator(),
  11. path,
  12. new ConstantImpl<ID>(session.getId(new LID(constant.toString()))));
  13. // localized property
  14. } else if (mappedPath.getMappedProperty().isLocalized()) {
  15. Locale locale;
  16. if (path.getMetadata().getPathType() == PathType.PROPERTY) {
  17. locale = session.getCurrentLocale();
  18. } else {
  19. locale = (Locale) path.getMetadata().getElement();
  20. }
  21. operation = PredicateOperation.create((Operator) operation.getOperator(),
  22. path,
  23. new ConstantImpl<LIT>(new LIT(constant.toString(), locale)));
  24. }
  25. return operation;
  26. }

相关文章