Interface FragmentData
In general, FragmentData works as a wrapper around a (generic) Java object
that represents the actual value. This avoids using Object in the API and also
allows to provide helper functionality to access the generic value in a controlled way.
Values are typed. For more information about data types, see DataType.
Values of a given type - represented by an Object wrapped by
FragmentData - may need to be converted to the needs of the client. Basically,
getValue(Class) supports to convert each value to a String
(and back).
For the conversion to a String the following rules are followed:
-
The conversion of numbers is technical, i.e. based on
Xxxx.toString()/Xxx.parseXxxrather thanNumberFormat -
The conversion of
Calendaris based on ISO-8601.
- Since:
- 1.1
-
Method Summary
Modifier and TypeMethodDescription@Nullable StringReturns the content type for textbased data types.@NotNull DataTypeGets the data type of the value.@Nullable CalendarReturns the date the value was last modified.@Nullable StringReturns the user that last modified this resource.@Nullable ObjectgetValue()Gets the original value as a generic Java object.<T> TGets the value, converted to the provided type.booleanisTypeSupported(Class type) Checks if the specified Java data type is supported for calls togetValue(Class)andsetValue(Object).voidsetContentType(@Nullable String contentType) Sets the content type for text-based data types.voidSets the value.
-
Method Details
-
getDataType
Gets the data type of the value.- Returns:
- The data type
-
getValue
Gets the value, converted to the provided type.For information about supported type conversions: see
DataType.Note that this method is supposed to return a suitably converted value for all types where
isTypeSupported(Class)returnstrue- Type Parameters:
T- Describes the type parameter- Parameters:
type- The type the value should be converted to- Returns:
- The value;
nullif the value could not be converted to the provided type
-
isTypeSupported
Checks if the specified Java data type is supported for calls togetValue(Class)andsetValue(Object).- Parameters:
type- The class object representing the type- Returns:
trueif the type is supported
-
getValue
Gets the original value as a generic Java object.- Returns:
- The value
-
setValue
Sets the value.The general rule is that a non-null value that was retrieved using
getValue(Class)needs to be accepted and converted to a suitable original value. Also, every value of a type whereisTypeSupported(Class)returnstrueneeds to be accepted and converted accordingly.Note that for the value to be persisted,
ContentElement.setValue(FragmentData)orContentVariation.setValue(FragmentData)have to be called explicitly. This allows for manipulating the value multiple times before actually persisting it.- Parameters:
value- The value- Throws:
ContentFragmentException- if the type of the value provided is unsupported
-
getContentType
Returns the content type for textbased data types.This will return a MIME type only when applicable. For numbers, dates, booleans, it will typically be
null.- Returns:
- The content type;
nullif not applicable
-
setContentType
Sets the content type for text-based data types.For data other than text-based types
nullshould be provided.- Parameters:
contentType- The content type;nullif not applicable
-
getLastModified
Returns the date the value was last modified.- Returns:
- the last modified date or
nullif not available
-
getLastModifiedBy
Returns the user that last modified this resource.- Returns:
- String containing the name of the user that last modified this resource.
-