org.hibernate.search.bridge.impl
Class BridgeFactory

java.lang.Object
  extended by org.hibernate.search.bridge.impl.BridgeFactory

public final class BridgeFactory
extends Object

This factory is responsible for creating and initializing build-in and custom FieldBridges.

Author:
Emmanuel Bernard, John Griffin

Field Summary
static FieldBridge ARRAY_BRIDGE
           
static FieldBridge ARRAY_CALENDAR_DAY
           
static FieldBridge ARRAY_CALENDAR_HOUR
           
static FieldBridge ARRAY_CALENDAR_MILLISECOND
           
static FieldBridge ARRAY_CALENDAR_MINUTE
           
static FieldBridge ARRAY_CALENDAR_MONTH
           
static FieldBridge ARRAY_CALENDAR_SECOND
           
static FieldBridge ARRAY_CALENDAR_YEAR
           
static FieldBridge ARRAY_DATE_DAY
           
static FieldBridge ARRAY_DATE_HOUR
           
static FieldBridge ARRAY_DATE_MILLISECOND
           
static FieldBridge ARRAY_DATE_MINUTE
           
static FieldBridge ARRAY_DATE_MONTH
           
static FieldBridge ARRAY_DATE_SECOND
           
static FieldBridge ARRAY_DATE_YEAR
           
static TwoWayFieldBridge BIG_DECIMAL
           
static TwoWayFieldBridge BIG_INTEGER
           
static TwoWayFieldBridge BOOLEAN
           
static FieldBridge CALENDAR_DAY
           
static FieldBridge CALENDAR_HOUR
           
static TwoWayFieldBridge CALENDAR_MILLISECOND
           
static FieldBridge CALENDAR_MINUTE
           
static FieldBridge CALENDAR_MONTH
           
static FieldBridge CALENDAR_SECOND
           
static FieldBridge CALENDAR_YEAR
           
static TwoWayFieldBridge CHARACTER
           
static TwoWayFieldBridge CLAZZ
           
static FieldBridge DATE_DAY
           
static FieldBridge DATE_HOUR
           
static TwoWayFieldBridge DATE_MILLISECOND
           
static FieldBridge DATE_MINUTE
           
static FieldBridge DATE_MONTH
           
static FieldBridge DATE_SECOND
           
static FieldBridge DATE_YEAR
           
static TwoWayFieldBridge DOUBLE
           
static NumericFieldBridge DOUBLE_NUMERIC
           
static TwoWayFieldBridge FLOAT
           
static NumericFieldBridge FLOAT_NUMERIC
           
static NumericFieldBridge INT_NUMERIC
           
static TwoWayFieldBridge INTEGER
           
static FieldBridge ITERABLE_BRIDGE
           
static FieldBridge ITERABLE_CALENDAR_DAY
           
static FieldBridge ITERABLE_CALENDAR_HOUR
           
static FieldBridge ITERABLE_CALENDAR_MILLISECOND
           
static FieldBridge ITERABLE_CALENDAR_MINUTE
           
static FieldBridge ITERABLE_CALENDAR_MONTH
           
static FieldBridge ITERABLE_CALENDAR_SECOND
           
static FieldBridge ITERABLE_CALENDAR_YEAR
           
static FieldBridge ITERABLE_DATE_DAY
           
static FieldBridge ITERABLE_DATE_HOUR
           
static FieldBridge ITERABLE_DATE_MILLISECOND
           
static FieldBridge ITERABLE_DATE_MINUTE
           
static FieldBridge ITERABLE_DATE_MONTH
           
static FieldBridge ITERABLE_DATE_SECOND
           
static FieldBridge ITERABLE_DATE_YEAR
           
static TwoWayFieldBridge LONG
           
static NumericFieldBridge LONG_NUMERIC
           
static FieldBridge MAP_BRIDGE
           
static FieldBridge MAP_CALENDAR_DAY
           
static FieldBridge MAP_CALENDAR_HOUR
           
static FieldBridge MAP_CALENDAR_MILLISECOND
           
static FieldBridge MAP_CALENDAR_MINUTE
           
static FieldBridge MAP_CALENDAR_MONTH
           
static FieldBridge MAP_CALENDAR_SECOND
           
static FieldBridge MAP_CALENDAR_YEAR
           
static FieldBridge MAP_DATE_DAY
           
static FieldBridge MAP_DATE_HOUR
           
static FieldBridge MAP_DATE_MILLISECOND
           
static FieldBridge MAP_DATE_MINUTE
           
static FieldBridge MAP_DATE_MONTH
           
static FieldBridge MAP_DATE_SECOND
           
static FieldBridge MAP_DATE_YEAR
           
static FieldBridge NUMERIC_ARRAY_BRIDGE
           
static FieldBridge NUMERIC_ITERABLE_BRIDGE
           
static FieldBridge NUMERIC_MAP_BRIDGE
           
static TwoWayFieldBridge SHORT
           
static TwoWayFieldBridge STRING
           
static TwoWayFieldBridge Uri
           
static TwoWayFieldBridge Url
           
static TwoWayFieldBridge UUID
           
 
Method Summary
static TwoWayFieldBridge extractTwoWayType(FieldBridge fieldBridge, org.hibernate.annotations.common.reflection.XClass appliedOnType, org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager)
          Takes in a fieldBridge and will return you a TwoWayFieldBridge instance.
static FieldBridge extractType(ClassBridge cb, org.hibernate.annotations.common.reflection.XClass clazz)
          This extracts and instantiates the implementation class from a ClassBridge annotation.
static FieldBridge extractType(FieldBridge fieldBridgeAnnotation, org.hibernate.annotations.common.reflection.XClass appliedOnType, org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager)
          This extracts and instantiates the implementation class from a ClassBridge annotation.
static FieldBridge getArraryCalendarField(Resolution resolution)
           
static FieldBridge getArrayDateField(Resolution resolution)
           
static FieldBridge getCalendarField(Resolution resolution)
           
static FieldBridge getDateField(Resolution resolution)
           
static FieldBridge getIterableCalendarField(Resolution resolution)
           
static FieldBridge getIterableDateField(Resolution resolution)
           
static FieldBridge getMapCalendarField(Resolution resolution)
           
static FieldBridge getMapDateField(Resolution resolution)
           
static FieldBridge guessType(Field field, NumericField numericField, org.hibernate.annotations.common.reflection.XMember member, org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CHARACTER

public static final TwoWayFieldBridge CHARACTER

DOUBLE

public static final TwoWayFieldBridge DOUBLE

FLOAT

public static final TwoWayFieldBridge FLOAT

SHORT

public static final TwoWayFieldBridge SHORT

INTEGER

public static final TwoWayFieldBridge INTEGER

LONG

public static final TwoWayFieldBridge LONG

BIG_INTEGER

public static final TwoWayFieldBridge BIG_INTEGER

BIG_DECIMAL

public static final TwoWayFieldBridge BIG_DECIMAL

STRING

public static final TwoWayFieldBridge STRING

BOOLEAN

public static final TwoWayFieldBridge BOOLEAN

CLAZZ

public static final TwoWayFieldBridge CLAZZ

Url

public static final TwoWayFieldBridge Url

Uri

public static final TwoWayFieldBridge Uri

UUID

public static final TwoWayFieldBridge UUID

DATE_YEAR

public static final FieldBridge DATE_YEAR

DATE_MONTH

public static final FieldBridge DATE_MONTH

DATE_DAY

public static final FieldBridge DATE_DAY

DATE_HOUR

public static final FieldBridge DATE_HOUR

DATE_MINUTE

public static final FieldBridge DATE_MINUTE

DATE_SECOND

public static final FieldBridge DATE_SECOND

ITERABLE_DATE_YEAR

public static final FieldBridge ITERABLE_DATE_YEAR

ITERABLE_DATE_MONTH

public static final FieldBridge ITERABLE_DATE_MONTH

ITERABLE_DATE_DAY

public static final FieldBridge ITERABLE_DATE_DAY

ITERABLE_DATE_HOUR

public static final FieldBridge ITERABLE_DATE_HOUR

ITERABLE_DATE_MINUTE

public static final FieldBridge ITERABLE_DATE_MINUTE

ITERABLE_DATE_SECOND

public static final FieldBridge ITERABLE_DATE_SECOND

MAP_DATE_YEAR

public static final FieldBridge MAP_DATE_YEAR

MAP_DATE_MONTH

public static final FieldBridge MAP_DATE_MONTH

MAP_DATE_DAY

public static final FieldBridge MAP_DATE_DAY

MAP_DATE_HOUR

public static final FieldBridge MAP_DATE_HOUR

MAP_DATE_MINUTE

public static final FieldBridge MAP_DATE_MINUTE

MAP_DATE_SECOND

public static final FieldBridge MAP_DATE_SECOND

ARRAY_DATE_YEAR

public static final FieldBridge ARRAY_DATE_YEAR

ARRAY_DATE_MONTH

public static final FieldBridge ARRAY_DATE_MONTH

ARRAY_DATE_DAY

public static final FieldBridge ARRAY_DATE_DAY

ARRAY_DATE_HOUR

public static final FieldBridge ARRAY_DATE_HOUR

ARRAY_DATE_MINUTE

public static final FieldBridge ARRAY_DATE_MINUTE

ARRAY_DATE_SECOND

public static final FieldBridge ARRAY_DATE_SECOND

CALENDAR_YEAR

public static final FieldBridge CALENDAR_YEAR

CALENDAR_MONTH

public static final FieldBridge CALENDAR_MONTH

CALENDAR_DAY

public static final FieldBridge CALENDAR_DAY

CALENDAR_HOUR

public static final FieldBridge CALENDAR_HOUR

CALENDAR_MINUTE

public static final FieldBridge CALENDAR_MINUTE

CALENDAR_SECOND

public static final FieldBridge CALENDAR_SECOND

ITERABLE_CALENDAR_YEAR

public static final FieldBridge ITERABLE_CALENDAR_YEAR

ITERABLE_CALENDAR_MONTH

public static final FieldBridge ITERABLE_CALENDAR_MONTH

ITERABLE_CALENDAR_DAY

public static final FieldBridge ITERABLE_CALENDAR_DAY

ITERABLE_CALENDAR_HOUR

public static final FieldBridge ITERABLE_CALENDAR_HOUR

ITERABLE_CALENDAR_MINUTE

public static final FieldBridge ITERABLE_CALENDAR_MINUTE

ITERABLE_CALENDAR_SECOND

public static final FieldBridge ITERABLE_CALENDAR_SECOND

MAP_CALENDAR_YEAR

public static final FieldBridge MAP_CALENDAR_YEAR

MAP_CALENDAR_MONTH

public static final FieldBridge MAP_CALENDAR_MONTH

MAP_CALENDAR_DAY

public static final FieldBridge MAP_CALENDAR_DAY

MAP_CALENDAR_HOUR

public static final FieldBridge MAP_CALENDAR_HOUR

MAP_CALENDAR_MINUTE

public static final FieldBridge MAP_CALENDAR_MINUTE

MAP_CALENDAR_SECOND

public static final FieldBridge MAP_CALENDAR_SECOND

ARRAY_CALENDAR_YEAR

public static final FieldBridge ARRAY_CALENDAR_YEAR

ARRAY_CALENDAR_MONTH

public static final FieldBridge ARRAY_CALENDAR_MONTH

ARRAY_CALENDAR_DAY

public static final FieldBridge ARRAY_CALENDAR_DAY

ARRAY_CALENDAR_HOUR

public static final FieldBridge ARRAY_CALENDAR_HOUR

ARRAY_CALENDAR_MINUTE

public static final FieldBridge ARRAY_CALENDAR_MINUTE

ARRAY_CALENDAR_SECOND

public static final FieldBridge ARRAY_CALENDAR_SECOND

ITERABLE_BRIDGE

public static final FieldBridge ITERABLE_BRIDGE

NUMERIC_ITERABLE_BRIDGE

public static final FieldBridge NUMERIC_ITERABLE_BRIDGE

ARRAY_BRIDGE

public static final FieldBridge ARRAY_BRIDGE

NUMERIC_ARRAY_BRIDGE

public static final FieldBridge NUMERIC_ARRAY_BRIDGE

MAP_BRIDGE

public static final FieldBridge MAP_BRIDGE

NUMERIC_MAP_BRIDGE

public static final FieldBridge NUMERIC_MAP_BRIDGE

INT_NUMERIC

public static final NumericFieldBridge INT_NUMERIC

LONG_NUMERIC

public static final NumericFieldBridge LONG_NUMERIC

FLOAT_NUMERIC

public static final NumericFieldBridge FLOAT_NUMERIC

DOUBLE_NUMERIC

public static final NumericFieldBridge DOUBLE_NUMERIC

DATE_MILLISECOND

public static final TwoWayFieldBridge DATE_MILLISECOND

ARRAY_DATE_MILLISECOND

public static final FieldBridge ARRAY_DATE_MILLISECOND

ITERABLE_DATE_MILLISECOND

public static final FieldBridge ITERABLE_DATE_MILLISECOND

MAP_DATE_MILLISECOND

public static final FieldBridge MAP_DATE_MILLISECOND

CALENDAR_MILLISECOND

public static final TwoWayFieldBridge CALENDAR_MILLISECOND

ARRAY_CALENDAR_MILLISECOND

public static final FieldBridge ARRAY_CALENDAR_MILLISECOND

ITERABLE_CALENDAR_MILLISECOND

public static final FieldBridge ITERABLE_CALENDAR_MILLISECOND

MAP_CALENDAR_MILLISECOND

public static final FieldBridge MAP_CALENDAR_MILLISECOND
Method Detail

extractType

public static FieldBridge extractType(ClassBridge cb,
                                      org.hibernate.annotations.common.reflection.XClass clazz)
This extracts and instantiates the implementation class from a ClassBridge annotation.

Parameters:
cb - the class bridge annotation
clazz - the XClass on which the annotation is defined on
Returns:
Returns the specified FieldBridge instance

guessType

public static FieldBridge guessType(Field field,
                                    NumericField numericField,
                                    org.hibernate.annotations.common.reflection.XMember member,
                                    org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager)

getDateField

public static FieldBridge getDateField(Resolution resolution)

getArrayDateField

public static FieldBridge getArrayDateField(Resolution resolution)

getMapDateField

public static FieldBridge getMapDateField(Resolution resolution)

getIterableDateField

public static FieldBridge getIterableDateField(Resolution resolution)

getCalendarField

public static FieldBridge getCalendarField(Resolution resolution)

getArraryCalendarField

public static FieldBridge getArraryCalendarField(Resolution resolution)

getMapCalendarField

public static FieldBridge getMapCalendarField(Resolution resolution)

getIterableCalendarField

public static FieldBridge getIterableCalendarField(Resolution resolution)

extractTwoWayType

public static TwoWayFieldBridge extractTwoWayType(FieldBridge fieldBridge,
                                                  org.hibernate.annotations.common.reflection.XClass appliedOnType,
                                                  org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager)
Takes in a fieldBridge and will return you a TwoWayFieldBridge instance.

Parameters:
fieldBridge - the field bridge annotation
appliedOnType - the type the bridge is applied on
reflectionManager - The reflection manager instance
Returns:
a TwoWayFieldBridge instance if the Field Bridge is an instance of a TwoWayFieldBridge.
Throws:
SearchException - if the FieldBridge passed in is not an instance of a TwoWayFieldBridge.

extractType

public static FieldBridge extractType(FieldBridge fieldBridgeAnnotation,
                                      org.hibernate.annotations.common.reflection.XClass appliedOnType,
                                      org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager)
This extracts and instantiates the implementation class from a ClassBridge annotation.

Parameters:
fieldBridgeAnnotation - the FieldBridge annotation
appliedOnType - the type the bridge is applied on
reflectionManager - The reflection manager instance
Returns:
FieldBridge


Copyright © 2006-2012 Red Hat Middleware, LLC. All Rights Reserved