/** * Creates alias with different name for this property */ public Property<E> alias(String alias) { return new Property<>(alias, this.getExpression(), this.getType()); }
/** * @see FunctionExpressionFactory#absExp(Expression) */ public Property<E> abs() { return create(FunctionExpressionFactory.absExp(getExpression()), getType()); }
/** * @see FunctionExpressionFactory#maxExp(Expression) */ public Property<E> max() { return create(FunctionExpressionFactory.maxExp(getExpression()), getType()); }
/** * @see FunctionExpressionFactory#avgExp(Expression) */ public Property<E> avg() { return create(FunctionExpressionFactory.avgExp(getExpression()), getType()); }
/** * @see FunctionExpressionFactory#modExp(Expression, Number) */ public Property<E> mod(Number number) { return create(FunctionExpressionFactory.modExp(getExpression(), number), getType()); }
/** * Constructs a new property path by appending the argument to the existing property separated by a dot. * * @return a newly created Property object. */ public <T> Property<T> dot(Property<T> property) { return create(getName() + "." + property.getName(), property.getType()); }
/** * @see FunctionExpressionFactory#sumExp(Expression) */ public Property<E> sum() { return create(FunctionExpressionFactory.sumExp(getExpression()), getType()); }
/** * @see FunctionExpressionFactory#minExp(Expression) */ public Property<E> min() { return create(FunctionExpressionFactory.minExp(getExpression()), getType()); }
/** * @see FunctionExpressionFactory#sqrtExp(Expression) */ public Property<E> sqrt() { return create(FunctionExpressionFactory.sqrtExp(getExpression()), getType()); }
/** * Collect metadata for result with ObjectId (used for paginated queries with FullObject columns) * * @param column full object column * @param resolver entity resolver * @return Entity result */ private EntityResult buildEntityIdResultForColumn(Property<?> column, EntityResolver resolver) { EntityResult result = new EntityResult(column.getType()); DbEntity entity = resolver.getObjEntity(column.getType()).getDbEntity(); for(DbAttribute attribute : entity.getPrimaryKeys()) { result.addDbField(attribute.getName(), attribute.getName()); } return result; }
if(property.getType() != null && (expressionType == Expression.OBJ_PATH || expressionType == Expression.DB_PATH) && (Collection.class.isAssignableFrom(property.getType()) || Map.class.isAssignableFrom(property.getType()))) { throw new CayenneRuntimeException("Can't directly select toMany relationship columns. " + "Either select it with aggregate functions like count() or with flat() function to select full related objects."); || (property.getType() != null && expressionType == Expression.OBJ_PATH && Persistent.class.isAssignableFrom(property.getType())); ObjEntity entity = entityResolver.getObjEntity(property.getType()); if(getQueryMetadata().getPageSize() > 0) { appendIdColumns(classColumns, entity); if(property.getType() != null) { descriptor = new ColumnDescriptor(builder.toString(), type, property.getType().getCanonicalName()); } else { descriptor = new ColumnDescriptor(builder.toString(), type);
return TypesMapping.getSqlTypeByJava(property.getType());