Interface FlatAttributeSelection<O extends Enum<O>,V extends Serializable & Comparable<V>>

All Superinterfaces:
AtomicAttributeFilter<V>, AtomicAttributeFilter.Comparison<O,V>, Filter<V>
All Known Implementing Classes:
DoubleFilter.DoubleComparison, DoubleFilter.DoubleEq, DoubleFilter.DoubleGe, DoubleFilter.DoubleGt, DoubleFilter.DoubleLe, DoubleFilter.DoubleLt, DoubleFilter.DoubleNe, InstantFilter.InstantComparison, InstantFilter.InstantEq, InstantFilter.InstantGe, InstantFilter.InstantGt, InstantFilter.InstantLe, InstantFilter.InstantLt, InstantFilter.InstantNe, LongFilter.LongComparison, LongFilter.LongEq, LongFilter.LongGe, LongFilter.LongGt, LongFilter.LongLe, LongFilter.LongLt, LongFilter.LongNe, StringFilter.StringComparison, StringFilter.StringEq, StringFilter.StringiEq, StringFilter.StringiLike, StringFilter.StringiNe, StringFilter.StringiUnlike, StringFilter.StringLike, StringFilter.StringNe, StringFilter.StringRegExp, StringFilter.StringUnlike

public interface FlatAttributeSelection<O extends Enum<O>,V extends Serializable & Comparable<V>> extends AtomicAttributeFilter.Comparison<O,V>
This class restricts filtering to atomic attribute selections and to 4 specific types and comparing to null. null will either be a StringFilter.StringEq or StringFilter.StringNe and a value of null. Also this class does not allow for MultipleFilter. This is due to the provision of org model entity filters via a map containing arbitrary entity attributes being mapped to the corresponding selection. This does not allow for combined filters on attribute level (but on entity level).

The StringFilter.Deserialiser handles the value of a map entry being null without a comparison operator. This will then be StringFilter.StringEq. If there is a comparison operator, the deserialiser will forward the JSON to the FlatAttributeSelection.JsonTypeDeducingTypeDeserialiser. This will then decide on the comparison type based on the present JSON type or to the usual null filter using StringFilter.StringEq or StringFilter.StringNe.