@Override public String toString() { return StringFieldImpl.class.getSimpleName() + "{" + identifier.getColumnId() + "}"; } }
public FieldSetImpl(Stream<Field<ENTITY>> fieldStream) { Set<String> ids = fieldStream.map(f -> f.identifier().getColumnId()).collect(Collectors.toSet()); switch (ids.size()) { case 0: includedId = $ -> false; break; case 1: final String id = ids.iterator().next(); includedId = id::equals; break; default: includedId = ids::contains; } }
@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof ColumnIdentifier)) return false; final ColumnIdentifier<?> that = (ColumnIdentifier<?>) o; return dbms.equals(that.getDbmsId()) && schema.equals(that.getSchemaId()) && table.equals(that.getTableId()) && column.equals(that.getColumnId()); }
@Override public String toString() { final ColumnIdentifier<ENTITY> cId = field.identifier(); final StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()) .append(" {") .append("field: ") .append(cId.getDbmsId()).append('.') .append(cId.getSchemaId()).append('.') .append(cId.getTableId()).append('.') .append(cId.getColumnId()) .append(", type: '").append(predicateType).append("'"); Cast.cast(this, Tuple.class).ifPresent(tuple -> { for (int i = 0; i < tuple.degree(); i++) { sb.append(", operand ").append(i) .append(": ").append(tuple.get(i)); } }); return sb.append("}").toString(); } }
private static void renderPredicate( final StringBuilder sb, final DatabaseNamingConvention naming, final int stageIndex, final int foreignStageIndex, final HasComparableOperators<?, ?> field, final HasComparableOperators<?, ?> foreignField, final String operator ) { sb.append(tableAlias(stageIndex)) .append(".") .append(naming.encloseField(field.identifier().getColumnId())) .append(" ") .append(operator) .append(" ") .append(tableAlias(foreignStageIndex)) .append(".") .append(naming.encloseField(foreignField.identifier().getColumnId())); }
@Override public FieldSet<ENTITY> and(Field<ENTITY> field) { String id = field.identifier().getColumnId(); return new FieldSetImpl<>(s -> id.equals(s) || test(s)); } }
@Override public FieldSet<ENTITY> except(Field<ENTITY> field) { String id = field.identifier().getColumnId(); return new FieldSetImpl<>(s -> !id.equals(s) && test(s)); }
/** * Returns the full name used in the database for the specified * ColumnIdentifier. This is typically constructed by combining the schema, * table and column name with a separator, but that might be different in * different implementations. * * @param fieldIdentifier to use * @return the full name */ default String fullNameOf(ColumnIdentifier<?> fieldIdentifier) { return fullNameOf(fieldIdentifier.getSchemaId(), fieldIdentifier.getTableId(), fieldIdentifier.getColumnId()); }
@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof ColumnIdentifier)) return false; final ColumnIdentifier<?> that = (ColumnIdentifier<?>) o; return getDbmsId().equals(that.getDbmsId()) && getSchemaId().equals(that.getSchemaId()) && getTableId().equals(that.getTableId()) && getColumnId().equals(that.getColumnId()); }
public ColumnLabelImpl(ColumnIdentifier<?> identifier) { label = identifier.getDbmsId() + "." + identifier.getSchemaId() + "." + identifier.getTableId() + "." + identifier.getColumnId(); }
@SafeVarargs @SuppressWarnings("varargs") @Override public final <ENTITY> JsonEncoder<ENTITY> of(Manager<ENTITY> manager, Field<ENTITY>... fields) { requireNonNull(manager); requireNonNullElements(fields); final JsonEncoder<ENTITY> formatter = noneOf(manager); final Set<String> fieldNames = Stream.of(fields) .map(Field::identifier) .map(ColumnIdentifier::getColumnId) .collect(toSet()); manager.fields() .filter(f -> fieldNames.contains(f.identifier().getColumnId())) .forEachOrdered(f -> formatter.put(jsonField(projectComponent.getProject(), f.identifier()), f.getter()::apply ) ); return formatter; } }
public static Optional<? extends Column> referencedColumnIfPresent(Project project, ColumnIdentifier<?> identifier) { return referencedColumnIfPresent(project, identifier.getDbmsId(), identifier.getSchemaId(), identifier.getTableId(), identifier.getColumnId()); }
@Override public FK_ENTITY apply(ENTITY entity) { final float value = getSourceField().getter().applyAsFloat(entity); return stream() .filter(getTargetField().equal(value)) .findAny() .orElseThrow(() -> new SpeedmentFieldException( "Error! Could not find any entities in table '" + getTableIdentifier() + "' with '" + getTargetField().identifier().getColumnId() + "' = '" + value + "'." )); } }
@Override public FK_ENTITY apply(ENTITY entity) { final char value = getSourceField().getter().applyAsChar(entity); return stream() .filter(getTargetField().equal(value)) .findAny() .orElseThrow(() -> new SpeedmentFieldException( "Error! Could not find any entities in table '" + getTableIdentifier() + "' with '" + getTargetField().identifier().getColumnId() + "' = '" + value + "'." )); } }
@Override public FK_ENTITY apply(ENTITY entity) { final byte value = getSourceField().getter().applyAsByte(entity); return stream() .filter(getTargetField().equal(value)) .findAny() .orElseThrow(() -> new SpeedmentFieldException( "Error! Could not find any entities in table '" + getTableIdentifier() + "' with '" + getTargetField().identifier().getColumnId() + "' = '" + value + "'." )); } }
@Override public FK_ENTITY apply(ENTITY entity) { final int value = getSourceField().getter().applyAsInt(entity); return stream() .filter(getTargetField().equal(value)) .findAny() .orElseThrow(() -> new SpeedmentFieldException( "Error! Could not find any entities in table '" + getTableIdentifier() + "' with '" + getTargetField().identifier().getColumnId() + "' = '" + value + "'." )); } }
@Override public FK_ENTITY apply(ENTITY entity) { final double value = getSourceField().getter().applyAsDouble(entity); return stream() .filter(getTargetField().equal(value)) .findAny() .orElseThrow(() -> new SpeedmentFieldException( "Error! Could not find any entities in table '" + getTableIdentifier() + "' with '" + getTargetField().identifier().getColumnId() + "' = '" + value + "'." )); } }
@Override public FK_ENTITY apply(ENTITY entity) { final short value = getSourceField().getter().applyAsShort(entity); return stream() .filter(getTargetField().equal(value)) .findAny() .orElseThrow(() -> new SpeedmentFieldException( "Error! Could not find any entities in table '" + getTableIdentifier() + "' with '" + getTargetField().identifier().getColumnId() + "' = '" + value + "'." )); } }
@Override public FK_ENTITY apply(ENTITY entity) { final long value = getSourceField().getter().applyAsLong(entity); return stream() .filter(getTargetField().equal(value)) .findAny() .orElseThrow(() -> new SpeedmentFieldException( "Error! Could not find any entities in table '" + getTableIdentifier() + "' with '" + getTargetField().identifier().getColumnId() + "' = '" + value + "'." )); } }
@Override public FK_ENTITY apply(ENTITY entity) { @SuppressWarnings("unchecked") final V value = (V) getSourceField().getter().apply(entity); if (value == null) { return null; } else { return stream() .filter(getTargetField().equal(value)) .findAny() .orElseThrow(() -> new SpeedmentFieldException( "Error! Could not find any entities in table '" + getTableIdentifier() + "' with '" + getTargetField().identifier().getColumnId() + "' = '" + value + "'." )); } } }