Interface FragmentData
-
public interface FragmentData
Represents a piece of content (or data) provided by a content fragment.In general,
FragmentData
works as a wrapper around a (generic) Java object that represents the actual value. This avoids usingObject
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 byFragmentData
- may need to be converted to the needs of the client. Basically,getValue(Class)
supports to convert each value to aString
(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.parseXxx
rather thanNumberFormat
-
The conversion of
Calendar
is based on ISO-8601.
- Since:
- 1.1
-
The conversion of numbers is technical, i.e. based on
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @Nullable java.lang.String
getContentType()
Returns the content type for textbased data types.@NotNull DataType
getDataType()
Gets the data type of the value.@Nullable java.util.Calendar
getLastModified()
Returns the date the value was last modified.@Nullable java.lang.Object
getValue()
Gets the original value as a generic Java object.<T> T
getValue(java.lang.Class<T> type)
Gets the value, converted to the provided type.boolean
isTypeSupported(java.lang.Class type)
Checks if the specified Java data type is supported for calls togetValue(Class)
andsetValue(Object)
.void
setContentType(@Nullable java.lang.String contentType)
Sets the content type for text-based data types.void
setValue(@Nullable java.lang.Object value)
Sets the value.
-
-
-
Method Detail
-
getDataType
@NotNull @NotNull DataType getDataType()
Gets the data type of the value.- Returns:
- The data type
-
getValue
@Nullable <T> T getValue(java.lang.Class<T> type)
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;
null
if the value could not be converted to the provided type
-
isTypeSupported
boolean isTypeSupported(java.lang.Class type)
Checks if the specified Java data type is supported for calls togetValue(Class)
andsetValue(Object)
.- Parameters:
type
- The class object representing the type- Returns:
true
if the type is supported
-
getValue
@Nullable @Nullable java.lang.Object getValue()
Gets the original value as a generic Java object.- Returns:
- The value
-
setValue
void setValue(@Nullable @Nullable java.lang.Object value) throws ContentFragmentException
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)
returnstrue
needs 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
@Nullable @Nullable java.lang.String 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;
null
if not applicable
-
setContentType
void setContentType(@Nullable @Nullable java.lang.String contentType)
Sets the content type for text-based data types.For data other than text-based types
null
should be provided.- Parameters:
contentType
- The content type;null
if not applicable
-
getLastModified
@Nullable @Nullable java.util.Calendar getLastModified()
Returns the date the value was last modified.- Returns:
- the last modified date or
null
if not available
-
-