org.compass.core.converter.json
Class ResourcePropertyJsonValueConverter

java.lang.Object
  extended by org.compass.core.converter.json.SimpleJsonValueConverter
      extended by org.compass.core.converter.json.ResourcePropertyJsonValueConverter
All Implemented Interfaces:
Converter, ResourcePropertyConverter

public class ResourcePropertyJsonValueConverter
extends SimpleJsonValueConverter
implements ResourcePropertyConverter

Extends the SimpleJsonValueConverter by delegating all marhslaling operations to an intenral ResourcePropertyConverter.

Author:
kimchy

Constructor Summary
ResourcePropertyJsonValueConverter(ResourcePropertyConverter converter)
           
 
Method Summary
 boolean canNormalize()
          Returns true if this converter should be used to convert query parser related values.
 Object fromString(String str, ResourcePropertyMapping resourcePropertyMapping)
          Converts from a String and into it's Object representation.
 Property.Index suggestIndex()
          The converter can suggest what type of index will be used in case no index is configured.
 Boolean suggestOmitNorms()
          The converter can suggest if norms should be saved for this type in case no explicit one is configured.
 Boolean suggestOmitTf()
          The converter can suggest if tf should be saved for this type in case no explicit one is configured.
 Property.Store suggestStore()
          The converter can suggest the store type for this type in case no explicit one is configured.
 Property.TermVector suggestTermVector()
          The converter can suggest if term vectors should be saved for this type in case no explicit one is configured.
 String toString(Object o, ResourcePropertyMapping resourcePropertyMapping)
          Converts the Object into a String.
protected  String toString(Object value, ResourcePropertyMapping resourcePropertyMapping, MarshallingContext context)
          Converst a value to a String.
 
Methods inherited from class org.compass.core.converter.json.SimpleJsonValueConverter
doSetBoost, getNullValue, handleNulls, marshall, unmarshall
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.compass.core.converter.Converter
marshall, unmarshall
 

Constructor Detail

ResourcePropertyJsonValueConverter

public ResourcePropertyJsonValueConverter(ResourcePropertyConverter converter)
Method Detail

toString

protected String toString(Object value,
                          ResourcePropertyMapping resourcePropertyMapping,
                          MarshallingContext context)
Description copied from class: SimpleJsonValueConverter
Converst a value to a String. Tryies to infer based on the type and use one of the registered converters based on the given type (in JSON we can have double, int, as well as Strings). Uses ConverterLookup.lookupConverter(Class).

The resulting converter is then used and uses ResourcePropertyConverter.toString(Object, org.compass.core.mapping.ResourcePropertyMapping).

Overrides:
toString in class SimpleJsonValueConverter

fromString

public Object fromString(String str,
                         ResourcePropertyMapping resourcePropertyMapping)
                  throws ConversionException
Description copied from interface: ResourcePropertyConverter
Converts from a String and into it's Object representation.

Specified by:
fromString in interface ResourcePropertyConverter
Parameters:
str - The string to convert from
resourcePropertyMapping - The resource property mapping
Returns:
Theh object converterd from the String
Throws:
ConversionException

toString

public String toString(Object o,
                       ResourcePropertyMapping resourcePropertyMapping)
                throws ConversionException
Description copied from interface: ResourcePropertyConverter
Converts the Object into a String.

Note that toString must be able to handle a null resourcePropertyMapping.

Specified by:
toString in interface ResourcePropertyConverter
Parameters:
o - The Object to convert from
resourcePropertyMapping - The resource proeprty mapping
Returns:
The String converted from the Object
Throws:
ConversionException

canNormalize

public boolean canNormalize()
Description copied from interface: ResourcePropertyConverter
Returns true if this converter should be used to convert query parser related values. Conversion is done by calling ResourcePropertyConverter.fromString(String, org.compass.core.mapping.ResourcePropertyMapping) and then ResourcePropertyConverter.toString(Object, org.compass.core.mapping.ResourcePropertyMapping).

Specified by:
canNormalize in interface ResourcePropertyConverter

suggestIndex

public Property.Index suggestIndex()
Description copied from interface: ResourcePropertyConverter
The converter can suggest what type of index will be used in case no index is configured. Can return null and will let global Compass defaults to be used.

Specified by:
suggestIndex in interface ResourcePropertyConverter

suggestTermVector

public Property.TermVector suggestTermVector()
Description copied from interface: ResourcePropertyConverter
The converter can suggest if term vectors should be saved for this type in case no explicit one is configured. Can return null and will let global Compass defaults to be used.

Specified by:
suggestTermVector in interface ResourcePropertyConverter

suggestStore

public Property.Store suggestStore()
Description copied from interface: ResourcePropertyConverter
The converter can suggest the store type for this type in case no explicit one is configured. Can return null and will let global Compass defaults to be used.

Specified by:
suggestStore in interface ResourcePropertyConverter

suggestOmitNorms

public Boolean suggestOmitNorms()
Description copied from interface: ResourcePropertyConverter
The converter can suggest if norms should be saved for this type in case no explicit one is configured. Can return null and will let global Compass defaults to be used.

Specified by:
suggestOmitNorms in interface ResourcePropertyConverter

suggestOmitTf

public Boolean suggestOmitTf()
Description copied from interface: ResourcePropertyConverter
The converter can suggest if tf should be saved for this type in case no explicit one is configured. Can return null and will let global Compass defaults to be used.

Specified by:
suggestOmitTf in interface ResourcePropertyConverter


Copyright (c) 2004-2008 The Compass Project.