net.sf.mmm.util.value.impl
Class ValueConverterToString

java.lang.Object
  extended by net.sf.mmm.util.component.base.AbstractComponent
      extended by net.sf.mmm.util.component.base.AbstractLoggableComponent
          extended by net.sf.mmm.util.value.base.AbstractSimpleValueConverter<Object,String>
              extended by net.sf.mmm.util.value.impl.ValueConverterToString
All Implemented Interfaces:
SimpleValueConverter<Object,String>, ValueConverter<Object,String>

@Singleton
@Named
public class ValueConverterToString
extends AbstractSimpleValueConverter<Object,String>

This is an implementation of the ValueConverter interface that converts an Object to a String.

Since:
1.0.1
Author:
Joerg Hohwiller (hohwille at users.sourceforge.net)

Field Summary
private  Iso8601Util iso8601Util
           
private  StringUtil stringUtil
           
 
Constructor Summary
ValueConverterToString()
          The constructor.
 
Method Summary
 String convert(Object value, Object valueSource, Class<? extends String> targetClass)
          This method converts the given pojo to the <TARGET>-type.
protected  void doInitialize()
          This method performs the actual initialization.
protected  Iso8601Util getIso8601Util()
          This method gets the Iso8601Util to use.
 Class<Object> getSourceType()
          This the type of the value accepted by this converter.
protected  StringUtil getStringUtil()
          This method gets the StringUtil to use.
 Class<String> getTargetType()
          Is the guaranteed return-type of the conversion.
 void setIso8601Util(Iso8601Util iso8601Util)
          This method sets the Iso8601Util to use.
 void setStringUtil(StringUtil stringUtil)
          This method sets the StringUtil to use.
 
Methods inherited from class net.sf.mmm.util.value.base.AbstractSimpleValueConverter
convert
 
Methods inherited from class net.sf.mmm.util.component.base.AbstractLoggableComponent
getLogger, setLogger
 
Methods inherited from class net.sf.mmm.util.component.base.AbstractComponent
doInitialized, getInitializationState, initialize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

iso8601Util

private Iso8601Util iso8601Util
See Also:
getIso8601Util()

stringUtil

private StringUtil stringUtil
See Also:
getStringUtil()
Constructor Detail

ValueConverterToString

public ValueConverterToString()
The constructor.

Method Detail

getIso8601Util

protected Iso8601Util getIso8601Util()
This method gets the Iso8601Util to use.

Returns:
the Iso8601Util instance.

setIso8601Util

@Inject
public void setIso8601Util(Iso8601Util iso8601Util)
This method sets the Iso8601Util to use.

Parameters:
iso8601Util - is the Iso8601Util instance.

getStringUtil

protected StringUtil getStringUtil()
This method gets the StringUtil to use.

Returns:
the StringUtil instance.

setStringUtil

@Inject
public void setStringUtil(StringUtil stringUtil)
This method sets the StringUtil to use.

Parameters:
stringUtil - is the StringUtil instance.

doInitialize

protected void doInitialize()
This method performs the actual initialization. It is called when AbstractComponent.initialize() is invoked for the first time.
ATTENTION:
When you override this method from a sub-class you need to do a super.AbstractComponent.doInitialize().

Overrides:
doInitialize in class AbstractLoggableComponent

getSourceType

public Class<Object> getSourceType()
This the type of the value accepted by this converter. Use Object if you want to accept any value. A very common source-type is String.

Returns:
the source-type.

getTargetType

public Class<String> getTargetType()
Is the guaranteed return-type of the conversion. This information is used externally to choose the most specific ValueConverter that is appropriate for the conversion.
E.g. a generic converter can have Object as target-type while a specific converter may have Collection as target-type. Now if an object (compliant with the source-type) needs to be converted to a Collection or List, the specific converter is used while for other objects the generic converter is chosen.
Please note that the target-type is often more general than the actual returned result. So a ValueConverter that converts a comma-separated String to an ArrayList will typically declare List as target-type.

Returns:
the target-type.

convert

public String convert(Object value,
                      Object valueSource,
                      Class<? extends String> targetClass)
This method converts the given pojo to the <TARGET>-type.

Parameters:
value - is the value to convert.
valueSource - describes the source of the value. This may be the filename where the value was read from, an XPath where the value was located in an XML document, etc. It is used in exceptions thrown if something goes wrong. This will help to find the problem easier.
targetClass - is the type to convert the value to.
Returns:
the converted value or null if the conversion is NOT possible. The returned value has to be an instance of the given targetType.
See Also:
ValueConverter.convert(Object, Object, GenericType)


Copyright © 2001-2010 mmm-Team. All Rights Reserved.