Class ResultFlavor
ResultFlavor is an enum-like class representing the 'type' of data a Result contains.
With resultflavors different results can be matched to multiple
ResultActions. A ResultAction defines which Flavors it supports.
New types of Flavors can be added with create(String).
You can use '==' to check for equality because there cannot be more than one Flavor object with the same key.
- Since:
- taskplanner 3.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceFunctional Interface for the internationalization of the ResultFlavor. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ResultFlavorThis flavor is used for any binary data with a known size.static final ResultFlavorThis flavor can be used to trigger aResultActionwithout passing any content data.static final ResultFlavorThis flavor is used for printable results.static final ResultFlavorThis flavor is used for textual data that is usually human readable. -
Method Summary
Modifier and TypeMethodDescriptionstatic ResultFlavorCreates, registers and returns a newResultFlavortype.static ResultFlavorcreate(@Nonnull String key, ResultFlavor.FlavorLabel labelFunction) Creates, registers and returns a newResultFlavortype.@Nonnull StringgetKey()Returns the key of this ResultFlavorgetLabel()Returns the localized label of this flavortoString()static ResultFlavorGet the Flavor for the given key name.static Collection<ResultFlavor>values()Get all registered ResultFlavors.
-
Field Details
-
NONE
This flavor can be used to trigger aResultActionwithout passing any content data. It's for instance accepted by the e-mail action to send an e-mail even in case the job produced no result content to attach to the e-mail. Or in other words, if aResultActionsupports this flavor then it is executed even if noresultsat all or no matching results are available.There are no constraints to a
Resultsupporting this flavor, but this makes no sense. -
FILE
This flavor is used for any binary data with a known size. In case a result supports this flavor it MUST implementFileResult. Results of this type can for instance be stored to disk or attached to an e-mail -
TEXT
This flavor is used for textual data that is usually human readable. In case a result supports this flavor it MUST implementTextResult. Results of this type can be presented to a reader e.g. in the content of an e-mail. -
PRINT
This flavor is used for printable results. In case a result supports this flavor it MUST implementPrintResult.
-
-
Method Details
-
create
public static ResultFlavor create(@Nonnull @Nonnull String key, ResultFlavor.FlavorLabel labelFunction) Creates, registers and returns a newResultFlavortype.Typically used as a constant:
public static final ResultFlavor TABLE = create( "TABLE" ); //table data flavorNote that you can use "==" for equality checks because there cannot be more than one Flavor object with the same key.
- Parameters:
key- the key of this type, must be uniquelabelFunction- optional function to provide a internationalized label for the flavor.- Returns:
- the new created flavor
- Throws:
IllegalArgumentException- if the given key is null or a Flavor with this key exists already- Since:
- taskplanner 3.0
-
create
Creates, registers and returns a newResultFlavortype.Typically used as a constant:
public static final ResultFlavor TABLE = create( "TABLE" ); //table data flavorNote that you can use "==" for equality checks because there cannot be more than one Flavor object with the same key.
- Parameters:
key- the key of this type, must be unique- Returns:
- the new created flavor
- Throws:
IllegalArgumentException- if the given key is null or a Flavor with this key exists already- Since:
- taskplanner 3.0
-
getKey
Returns the key of this ResultFlavor- Returns:
- the key of this flavor
-
valueOf
Get the Flavor for the given key name. This is equivalent to an enum's valueOf() method.- Parameters:
key- the key of the desired Flavor- Returns:
- the
ResultFlavor - Throws:
IllegalArgumentException- if there is no flavor for the given key- Since:
- taskplanner 3.0
-
toString
-
getLabel
Returns the localized label of this flavor- Returns:
- the label of this flavor for the current language
- Since:
- taskplanner 3.0
-
values
Get all registered ResultFlavors. This is equivalent to an enum's values() method but with collection because array is ugly.- Returns:
- List with currently registered
ResultFlavors. Later registered Flavors are not reflected in the returned list. - Since:
- taskplanner 3.0
-