Class MapFieldTypeConverter

java.lang.Object
com.broadleafcommerce.search.api.service.MapFieldTypeConverter
All Implemented Interfaces:
FieldTypeConverter

public abstract class MapFieldTypeConverter extends Object implements FieldTypeConverter
A FieldTypeConverter which stores the field type conversions in a map.
  • Field Details

    • conversions

      protected final org.apache.commons.collections4.BidiMap<String,String> conversions
      A bi-directional map to store conversions from generic field types to search-engine-specific implementation field types, and vice versa.
  • Constructor Details

    • MapFieldTypeConverter

      public MapFieldTypeConverter()
  • Method Details

    • convertFieldType

      public String convertFieldType(@Nullable String fieldType)
      Description copied from interface: FieldTypeConverter
      Convert a generic field type to an implementation specific type.

      Generic field type should match a FieldType

      Specified by:
      convertFieldType in interface FieldTypeConverter
      Parameters:
      fieldType - The generic field type to convert
      Returns:
      The implementation specific field type
    • retrieveFieldType

      public String retrieveFieldType(@Nullable String implementationFieldType)
      Description copied from interface: FieldTypeConverter
      Retrieve the generic field type from the implementation specific type.

      Generic field type should match a FieldType

      Specified by:
      retrieveFieldType in interface FieldTypeConverter
      Parameters:
      implementationFieldType - The implementation specific field type
      Returns:
      The generic field type
    • addFieldType

      protected void addFieldType(@Nullable String fieldType, @Nullable String implementationFieldTypes)
      Adds a supported field type.
      Parameters:
      fieldType - The field type (e.g. STRING, TEXT, DATE, etc)
      implementationFieldTypes - The implementation specific field type.
      For Solr users, these are the dynamic field types defined in the schema, e.g. 't', 'l', 'txt', etc.