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;
import static org.simpleflatmapper.util.Asserts.requireNonNull;

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

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

	public  PropertyMapping propertyMeta(PropertyMeta propertyMeta) {
		Object[] definedProperties = propertyMeta.getDefinedProperties();
		ColumnDefinition 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 ColumnDefinition getColumnDefinition() {
		return columnDefinition;
	}

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy