com.netflix.astyanax.entitystore.ColumnMapper Maven / Gradle / Ivy
package com.netflix.astyanax.entitystore;
import java.lang.reflect.Field;
import java.util.Iterator;
import com.netflix.astyanax.ColumnListMutation;
import com.netflix.astyanax.model.Column;
public interface ColumnMapper {
public String getColumnName();
/**
* @return true if set, false if skipped due to null value for nullable field
* @throws IllegalArgumentException if value is null and field is NOT nullable
*/
public boolean fillMutationBatch(Object entity, ColumnListMutation clm, String prefix) throws Exception;
/**
* @return true if set, false if skipped due to non-existent column for nullable field
* @throws IllegalArgumentException if value is null and field is NOT nullable
*/
public boolean setField(Object entity, Iterator name, Column column) throws Exception;
/**
* Perform a validation step either before persisting or after loading
* @throws Exception
*/
public void validate(Object entity) throws Exception;
/**
* Return the field associated with this mapper
*/
public Field getField();
}