Die FilterOption-Klassen sind Hilfsobjekte, die eine Filterung nach bestimmten Mustern im ArticlePager erleichtern sollen. Sie können dem Pager übergeben werden, sodass dieser die Artikel nach den Filteroptionen prüfen und ausliefern kann. Sofern es einmal nötig sein sollte, können diese Klassen natürlich auch außerhalb des Pagers verwendet werden.
Base ist der Basistyp der Filteroptionen, der nur dazu dient einen einheitlichen Standard aller Filteroptionen herzustellen. Diese Klasse ist nicht instanziierbar. Von ihr erben alle anderen Optionen, sodass sie in einer Liste gemeinsam verwendet werden können.
Die Konstruktoren aller Filteroptionen besitzen als Parameter einen String "AttributeName", dieser stellt den Attributnamen dar, nach dessen Wert gefiltert werden soll. Die weiteren Parameter, die je nach Klasse abweichen, regeln, wie dieser Wert beschaffen sein soll um nicht durch den Filter zu fallen. Gibt es in einem Shape kein Attribut dieses Namens, oder stimmt der Typ nicht mit dem gegebenen Filter überein, wird es nicht geliefert.
Der Pager übergibt intern den EditMode, es ist also nicht nötig, jeder Option mitzugeben, ob sie nun den IsEdit oder den IsPublished-Wert des Attributs verwenden soll.
Im Pager wird bei der internen Reorganisation der Artikel jeder Filter auf jeden Artikel angewandt, d.h. alle Filter müssen übereinstimmen, sodass der Artikel schließlich geliefert wird.
Prüft, ob das gegebene Shape mit den Filtern übereinstimmt (true) oder nicht (false). Dies kann auch für Shapes verwendet werden, die keine Artikel sind (der Pager jedoch wendet dies nur auf Artikel an, da Nicht-Artikel-Shapes vorher aussortiert werden)
Diese Funktion besitzt mit identischer Signatur jede abgeleitete Klasse.
Erzeugt eine Filteroption für Boolean-Werte.
Erzeugt eine Filteroption für Decimal-Werte.
Hinweis: Es wird kein Fehler geworfen, wenn Min > Max ist, es wird dann nur nie einen Wert geben, der zum Filter passt. Übergibt man keinen der beiden Werte, trifft der Filter auf alle Decimal-Werte zu.
Hinweis: Auf eine Option "ist gleich" wurde bewusst verzichtet, da man dafür ganz einfach Min = Max setzen kann. "Ist ungleich" hätte bisher noch keinen konkreten Anwendungsfall.
Erzeugt eine Filteroption für Integer-Werte.
Hinweis: Es wird kein Fehler geworfen, wenn Min > Max ist, es wird dann nur nie einen Wert geben, der zum Filter passt. Übergibt man keinen der beiden Werte, trifft der Filter auf alle Integer-Werte zu.
Hinweis: Auf eine Option "ist gleich" wurde bewusst verzichtet, da man dafür ganz einfach Min = Max setzen kann. "Ist ungleich" hätte bisher noch keinen konkreten Anwendungsfall.
Erzeugt eine Filteroption für Seiten. Es wird dabei geschaut, ob ein Shape/Artikel in einer der übergebenen Seiten liegt.
Erzeugt eine Filteroption für Texte.
Wichtig: Alle Filtermöglichkeiten sind nicht case-sensitiv.
Hinweis: Angewandt werden immer alle Optionen gleichzeitig.
Eine Sonderrolle hat in gewisser Weise "IsEqual". Ist dieser gesetzt, sind alle anderen Werte außer Kraft, da diese dann sowieso keinen Sinn mehr ergeben. D.h. IsEqual="Test" und StartsWith="XY" gleichzeitig würde einen Wert, der gleich "Test" ist, finden.