org.teleal.cling.model.types
Class AbstractDatatype<V>
java.lang.Object
org.teleal.cling.model.types.AbstractDatatype<V>
- All Implemented Interfaces:
- Datatype<V>
- Direct Known Subclasses:
- Base64Datatype, BinHexDatatype, BooleanDatatype, CharacterDatatype, CustomDatatype, DateTimeDatatype, DoubleDatatype, FloatDatatype, IntegerDatatype, StringDatatype, UnsignedIntegerFourBytesDatatype, UnsignedIntegerOneByteDatatype, UnsignedIntegerTwoBytesDatatype, URIDatatype
public abstract class AbstractDatatype<V>
- extends Object
- implements Datatype<V>
- Author:
- Christian Bauer
Methods inherited from interface org.teleal.cling.model.types.Datatype |
valueOf |
AbstractDatatype
public AbstractDatatype()
getValueType
protected Class<V> getValueType()
getBuiltin
public Datatype.Builtin getBuiltin()
- Specified by:
getBuiltin
in interface Datatype<V>
- Returns:
- The built-in UPnP standardized type this datatype is mapped to or
null
if this is a custom datatype.
setBuiltin
public void setBuiltin(Datatype.Builtin builtin)
getString
public String getString(V value)
throws InvalidValueException
- Description copied from interface:
Datatype
- Transforms a value supported by this datatype into a string representation.
This method calls Datatype.isValid(Object)
before converting the value, it throws
an exception if validation fails.
- Specified by:
getString
in interface Datatype<V>
- Parameters:
value
- The value to transform.
- Returns:
- The transformed value as a string, or an empty string when the value is null, never returns
null
.
- Throws:
InvalidValueException
isValid
public boolean isValid(V value)
- Specified by:
isValid
in interface Datatype<V>
- Parameters:
value
- The value to validate or null
.
- Returns:
- Returns
true
if the value was null
, validation result otherwise.
toString
public String toString()
- Overrides:
toString
in class Object
getDisplayString
public String getDisplayString()
- Specified by:
getDisplayString
in interface Datatype<V>
- Returns:
- Metadata about this datatype, a nice string for display that describes
this datatype (e.g. concrete class name).
Copyright © 2011 Teleal GmbH, Switzerland. All Rights Reserved.