package mil.nga.giat.geowave.core.store.data.field;
import mil.nga.giat.geowave.core.index.ByteArrayId;
/**
* This class must be implemented to perform per field value visibility
* decisions. The byte array that is returned will be used directly in the
* visibility column for Accumulo.
*
* @param <RowType>
* @param <FieldType>
*/
public interface FieldVisibilityHandler<RowType, FieldType>
{
/**
* Determine visibility on a per field basis.
*
* @param rowValue
* The value for the full row.
* @param fieldId
* The ID of the field for which to determine visibility
* @param fieldValue
* The value of the field to determine visibility
* @return The visibility for a field
*/
public byte[] getVisibility(
RowType rowValue,
ByteArrayId fieldId,
FieldType fieldValue );
}