package mil.nga.giat.geowave.core.store.data.visibility; import mil.nga.giat.geowave.core.store.data.field.FieldVisibilityHandler; /** * Provides a single consolidated tool to determine the visibility for a * specific field. */ public interface VisibilityManagement<T> { /** * Create a visibility handler * * @param fieldName * -- the name of the field for object of type T requiring * visibility treatment * @param defaultHandler * -- default handler if the visibilityAttributeName is not * provided or the field does not exist in a provided object of * type T. * @param visibilityAttributeName * -- optional name of a field that determines visibility of each * field in an object of type T * @return */ public FieldVisibilityHandler<T, Object> createVisibilityHandler( final String fieldName, FieldVisibilityHandler<T, Object> defaultFieldVisiblityHandler, final String visibilityAttribute ); }