All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.simpleflatmapper.map.mapper.PropertyMapping Maven / Gradle / Ivy

Go to download

Java library to map flat record - ResultSet, csv - to java object with minimum configuration and low footprint.

There is a newer version: 9.0.2
Show newest version
package org.simpleflatmapper.map.mapper;

import org.simpleflatmapper.map.FieldKey;
import org.simpleflatmapper.reflect.meta.PropertyMeta;

public class PropertyMapping, D extends ColumnDefinition> {
	private final PropertyMeta propertyMeta;
	private final K columnKey;
	private final D columnDefinition;

	public PropertyMapping(PropertyMeta propertyMeta, K columnKey, D columnDefinition) {
		super();
		this.propertyMeta = propertyMeta;
		this.columnKey = columnKey;
		this.columnDefinition = columnDefinition;
	}

	public  PropertyMapping propertyMeta(PropertyMeta propertyMeta) {
		Object[] definedProperties = propertyMeta.getDefinedProperties();
		D mergeColumnDefintion = definedProperties != null ?  this.columnDefinition.newColumnDefinition(definedProperties) : this.columnDefinition;
		return new PropertyMapping(propertyMeta, columnKey, mergeColumnDefintion);
	}

	public PropertyMeta getPropertyMeta() {
		return propertyMeta;
	}

	public K getColumnKey() {
		return columnKey;
	}

	public D getColumnDefinition() {
		return columnDefinition;
	}

    @Override
    public String toString() {
        return "PropertyMapping{" +
                "propertyMeta=" + propertyMeta +
                ", columnKey=" + columnKey +
                ", columnDefinition=" + columnDefinition +
                '}';
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy