org.sfm.map.ColumnDefinition Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of simpleFlatMapper Show documentation
Show all versions of simpleFlatMapper Show documentation
Java library to map flat record - ResultSet, csv - to java object with minimum configuration and low footprint.
package org.sfm.map;
import org.sfm.reflect.meta.PropertyMeta;
import org.sfm.utils.Predicate;
import java.lang.reflect.Type;
public abstract class ColumnDefinition, CD extends ColumnDefinition> {
public K rename(K key) {
return key;
}
public boolean hasCustomSource() {
return false;
}
public Type getCustomSourceReturnType() {
throw new UnsupportedOperationException();
}
public boolean ignore() {
return false;
}
public boolean isKey() {
return false;
}
public Predicate> keyAppliesTo() {
return new Predicate>() {
@Override
public boolean test(PropertyMeta propertyMeta) {
return false;
}
};
}
public abstract CD compose(CD columnDefinition);
public abstract CD addRename(String name);
public abstract CD addIgnore();
public abstract CD addKey();
public abstract CD addKey(Predicate> appliesTo);
protected abstract void appendToStringBuilder(StringBuilder sb);
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("ColumnDefinition{");
appendToStringBuilder(sb);
sb.append("}");
return sb.toString();
}
}