org.scijava.convert
Class NullConverter

java.lang.Object
  extended by org.scijava.AbstractContextual
      extended by org.scijava.plugin.AbstractRichPlugin
          extended by org.scijava.plugin.AbstractTypedPlugin<D>
              extended by org.scijava.plugin.AbstractHandlerPlugin<ConversionRequest>
                  extended by org.scijava.convert.AbstractConverter<Object,Object>
                      extended by org.scijava.convert.NullConverter
All Implemented Interfaces:
Comparable<Prioritized>, Contextual, Converter<Object,Object>, HandlerPlugin<ConversionRequest>, HasPluginInfo, RichPlugin, SciJavaPlugin, SingletonPlugin, TypedPlugin<ConversionRequest>, Prioritized, Typed<ConversionRequest>

public class NullConverter
extends AbstractConverter<Object,Object>

Converter implementation for handling null values. Performs basic casting when given a null source and returns null directly when given a null destination.

By running at Priority.FIRST_PRIORITY, other converters should not need to worry about null source or destination parameters.

NB: if a Class source is queried for the canConvert(org.scijava.convert.ConversionRequest), this converter will always return false (as there is no way of knowing if the source object will be null or not).

Author:
Mark Hiner

Constructor Summary
NullConverter()
           
 
Method Summary
 boolean canConvert(Class<?> src, Class<?> dest)
          Checks whether objects of the given class can be converted to the specified type.
 boolean canConvert(ConversionRequest request)
          Checks whether a given can be processed, by converting the desired ConversionRequest.sourceClass() to its ConversionRequest.destClass() or ConversionRequest.destType().
 boolean canConvert(Object src, Class<?> dest)
          Checks whether the given object's type can be converted to the specified type.
 boolean canConvert(Object src, Type dest)
          Checks whether the given object's type can be converted to the specified type.
<T> T
convert(Object src, Class<T> dest)
          Converts the given object to an object of the specified type.
 Class<Object> getInputType()
           
 Class<Object> getOutputType()
           
 
Methods inherited from class org.scijava.convert.AbstractConverter
canConvert, convert, convert, getType, populateInputCandidates, supports
 
Methods inherited from class org.scijava.plugin.AbstractRichPlugin
compareTo, getInfo, getPriority, setInfo, setPriority, toString
 
Methods inherited from class org.scijava.AbstractContextual
context, getContext, setContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.scijava.Contextual
context, getContext, setContext
 
Methods inherited from interface org.scijava.Prioritized
getPriority, setPriority
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface org.scijava.plugin.HasPluginInfo
getInfo, setInfo
 

Constructor Detail

NullConverter

public NullConverter()
Method Detail

canConvert

public boolean canConvert(ConversionRequest request)
Description copied from interface: Converter
Checks whether a given can be processed, by converting the desired ConversionRequest.sourceClass() to its ConversionRequest.destClass() or ConversionRequest.destType().

Specified by:
canConvert in interface Converter<Object,Object>
Overrides:
canConvert in class AbstractConverter<Object,Object>
See Also:
Converter.convert(ConversionRequest)

canConvert

public boolean canConvert(Object src,
                          Type dest)
Description copied from interface: Converter
Checks whether the given object's type can be converted to the specified type.

Note that this does not necessarily entail that Converter.convert(Object, Type) on that specific object will succeed. For example: canConvert("5.1", int.class) will return true because a String can in general be converted to an int, but calling convert("5.1", int.class) will throw a NumberFormatException when the conversion is actually attempted via the Integer.Integer(String) constructor.

Specified by:
canConvert in interface Converter<Object,Object>
Overrides:
canConvert in class AbstractConverter<Object,Object>
See Also:
Converter.convert(Object, Type)

canConvert

public boolean canConvert(Object src,
                          Class<?> dest)
Description copied from interface: Converter
Checks whether the given object's type can be converted to the specified type.

Note that this does not necessarily entail that Converter.convert(Object, Class) on that specific object will succeed. For example: canConvert("5.1", int.class) will return true because a String can in general be converted to an int, but calling convert("5.1", int.class) will throw a NumberFormatException when the conversion is actually attempted via the Integer.Integer(String) constructor.

Specified by:
canConvert in interface Converter<Object,Object>
Overrides:
canConvert in class AbstractConverter<Object,Object>
See Also:
Converter.convert(Object, Class)

canConvert

public boolean canConvert(Class<?> src,
                          Class<?> dest)
Description copied from interface: Converter
Checks whether objects of the given class can be converted to the specified type.

Specified by:
canConvert in interface Converter<Object,Object>
Overrides:
canConvert in class AbstractConverter<Object,Object>
See Also:
Converter.convert(Object, Class)

convert

public <T> T convert(Object src,
                     Class<T> dest)
Description copied from interface: Converter
Converts the given object to an object of the specified type. The object is casted directly if possible, or else a new object is created using the destination type's public constructor that takes the original object as input (except when converting to String, which uses the Object.toString() method instead). In the case of primitive types, returns an object of the corresponding wrapped type. If the destination type does not have an appropriate constructor, returns null.

Type Parameters:
T - Type to which the object should be converted.
Parameters:
src - The object to convert.
dest - Type to which the object should be converted.

getOutputType

public Class<Object> getOutputType()
Returns:
The base Class this Converter produces as output.

getInputType

public Class<Object> getInputType()
Returns:
The base Class this Converter accepts as input.


Copyright © 2009–2015 SciJava. All rights reserved.