Package ubic.gemma.persistence.util
Class ServiceBasedValueObjectConverter<O extends Identifiable,VO extends IdentifiableValueObject<O>>
java.lang.Object
ubic.gemma.persistence.util.ServiceBasedEntityConverter<O>
ubic.gemma.persistence.util.ServiceBasedValueObjectConverter<O,VO>
- Type Parameters:
O- the type of value object this converter consumes and also produces (as inherited fromServiceBasedEntityConverterVO- the type of value object this converter produces
- All Implemented Interfaces:
org.springframework.core.convert.converter.ConditionalConverter,org.springframework.core.convert.converter.ConditionalGenericConverter,org.springframework.core.convert.converter.GenericConverter
public class ServiceBasedValueObjectConverter<O extends Identifiable,VO extends IdentifiableValueObject<O>>
extends ServiceBasedEntityConverter<O>
implements org.springframework.core.convert.converter.ConditionalGenericConverter
Perform conversion to value object by entity, ID and collections of entities and IDs and also to entity by ID and
collection of IDs.
The converter recognize two cases: converting ServiceBasedValueObjectConverter → ServiceBasedValueObjectConverter and converting Collection of ServiceBasedValueObjectConverter
to List of ServiceBasedValueObjectConverter by calling respectively BaseVoEnabledService.loadValueObject(Identifiable) and
BaseVoEnabledService.loadValueObjects(Collection).
This implementation also work with supertypes of the designated ServiceBasedValueObjectConverter and subtypes of the ServiceBasedValueObjectConverter. For example,
you can perform generic conversion to IdentifiableValueObject without having to mention the specific type of
value object you ultimately want.
- Author:
- poirigui
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.core.convert.converter.GenericConverter
org.springframework.core.convert.converter.GenericConverter.ConvertiblePair -
Field Summary
Fields inherited from class ubic.gemma.persistence.util.ServiceBasedEntityConverter
convertibleTypes -
Constructor Summary
ConstructorsConstructorDescriptionServiceBasedValueObjectConverter(BaseVoEnabledService<O, ? extends VO> service, Class<O> sourceType, Class<VO> targetType) -
Method Summary
Modifier and TypeMethodDescriptionconvert(Object object, org.springframework.core.convert.TypeDescriptor sourceType, org.springframework.core.convert.TypeDescriptor targetType) booleanmatches(org.springframework.core.convert.TypeDescriptor sourceType, org.springframework.core.convert.TypeDescriptor targetType) Methods inherited from class ubic.gemma.persistence.util.ServiceBasedEntityConverter
getConvertibleTypesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.core.convert.converter.GenericConverter
getConvertibleTypes
-
Constructor Details
-
ServiceBasedValueObjectConverter
-
-
Method Details
-
matches
public boolean matches(org.springframework.core.convert.TypeDescriptor sourceType, org.springframework.core.convert.TypeDescriptor targetType) - Specified by:
matchesin interfaceorg.springframework.core.convert.converter.ConditionalConverter- Overrides:
matchesin classServiceBasedEntityConverter<O extends Identifiable>
-
convert
public Object convert(@Nullable Object object, org.springframework.core.convert.TypeDescriptor sourceType, org.springframework.core.convert.TypeDescriptor targetType) - Specified by:
convertin interfaceorg.springframework.core.convert.converter.GenericConverter- Overrides:
convertin classServiceBasedEntityConverter<O extends Identifiable>
-