@Override public ColumnInfo getColumnInfo() { return fieldDescriptor.getColumnInfo(); }
@Override public GeneratorInfo getGeneratorInfo() { return fieldDescriptor.getGeneratorInfo(); }
@Override public PropertyWrapper<Field, ?, P> getField() { return fieldDescriptor.getField(); }
public static <BEAN> AColumnValueGenerator getColumnValueGenerator(final FieldDescriptor<BEAN,? extends Object> classField, final DBProfile dbProfile, final boolean ignoreGenerator) { AColumnValueGenerator columnValueGenerator = new NullColumnValueGenerator(classField.getGeneratorInfo().getName(), dbProfile); if (!ignoreGenerator) { switch (classField.getGeneratorInfo().getGeneratorType()) { case SEQUENCE: columnValueGenerator = new SequenceColumnValueGenerator(classField.getGeneratorInfo().getName(), dbProfile); break; case SEQUENCE_FALLBACK_AUTOGENERATED: if (dbProfile.getDbFeatures().isSequenceSupport()) { columnValueGenerator = new SequenceColumnValueGenerator(classField.getGeneratorInfo().getName(), dbProfile); } else { columnValueGenerator = new AutogeneratedColumnValueGenerator(classField.getGeneratorInfo().getName(), dbProfile); columnValueGenerator = new AutogeneratedColumnValueGenerator(classField.getGeneratorInfo().getName(), dbProfile); break; case AUTOGENERATED_FALLBACK_SEQUENCE: if (dbProfile.getDbFeatures().isAutogeneratedKeySupport()) { columnValueGenerator = new AutogeneratedColumnValueGenerator(classField.getGeneratorInfo().getName(), dbProfile); } else { columnValueGenerator = new SequenceColumnValueGenerator(classField.getGeneratorInfo().getName(), dbProfile); columnValueGenerator.setGeneratedColumnName(classField.getColumnInfo().getDBColumnName()); return columnValueGenerator;
@Override public PropertyWrapper<Method, ?, P> getGetter() { return fieldDescriptor.getGetter(); }
@Override public VersionInfo getVersionInfo() { return fieldDescriptor.getVersionInfo(); }
@Override public PropertyWrapper<Method, ?, P> getSetter() { return fieldDescriptor.getSetter(); }
@Override public JsonInfo getJsonInfo() { return fieldDescriptor.getJsonInfo(); }
@Override public String getFieldName() { return fieldDescriptor.getFieldName(); }
@Override public boolean isIdentifier() { return fieldDescriptor.isIdentifier(); }
@Override public Class<P> getProcessedClass() { return fieldDescriptor.getProcessedClass(); }
private String getDbColumn(final String alias, final String field) { String dbColumn = registeredClass.get(alias).getFieldDescriptorByJavaName(field).getColumnInfo().getDBColumnName(); if (dbColumn.isEmpty()) { throw new JpoWrongPropertyNameException("Field with name [" + field + "] is not present or ignored for alias [" + alias + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } return dbColumn; }
private String columnToCommaSepareted(final Set<String> fieldNames) { List<String> queryParameters = new ArrayList<String>(); for (String field : fieldNames) { FieldDescriptor<BEAN, ?> classField = classDescriptor.getFieldDescriptorByJavaName(field); final AColumnValueGenerator columnValueGenerator = ColumnValueGeneratorFactory.getColumnValueGenerator( classField, dbProfile, !useGenerators ); final String queryParameter = columnValueGenerator.insertColumn(classField.getColumnInfo().getDBColumnName()); if (queryParameter.length()>0) { queryParameters.add(queryParameter); } } return toQueryString(queryParameters); }