Package org.osgi.util.converter
Class ConverterBuilderImpl
- java.lang.Object
-
- org.osgi.util.converter.ConverterBuilderImpl
-
- All Implemented Interfaces:
ConverterBuilder
class ConverterBuilderImpl extends java.lang.Object implements ConverterBuilder
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<ConverterFunction>
catchAllRules
private InternalConverter
converter
private java.util.List<ConverterFunction>
errorHandlers
private java.util.Map<java.lang.reflect.Type,java.util.List<ConverterFunction>>
rules
-
Constructor Summary
Constructors Constructor Description ConverterBuilderImpl(InternalConverter c)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InternalConverter
build()
Build the specified converter.ConverterBuilder
errorHandler(ConverterFunction func)
Register a custom error handler.private java.util.List<ConverterFunction>
getRulesList(java.lang.reflect.Type type)
ConverterBuilder
rule(java.lang.reflect.Type t, ConverterFunction func)
Register a conversion rule for this converter.ConverterBuilder
rule(ConverterFunction func)
Register a catch-all rule, will be called of no other rule matches.ConverterBuilder
rule(TargetRule rule)
Register a conversion rule for this converter.
-
-
-
Field Detail
-
converter
private final InternalConverter converter
-
rules
private final java.util.Map<java.lang.reflect.Type,java.util.List<ConverterFunction>> rules
-
catchAllRules
private final java.util.List<ConverterFunction> catchAllRules
-
errorHandlers
private final java.util.List<ConverterFunction> errorHandlers
-
-
Constructor Detail
-
ConverterBuilderImpl
public ConverterBuilderImpl(InternalConverter c)
-
-
Method Detail
-
build
public InternalConverter build()
Description copied from interface:ConverterBuilder
Build the specified converter. Each time this method is called a new custom converter is produced based on the rules registered with the builder.- Specified by:
build
in interfaceConverterBuilder
- Returns:
- A new converter with the rules provided to the builder.
-
errorHandler
public ConverterBuilder errorHandler(ConverterFunction func)
Description copied from interface:ConverterBuilder
Register a custom error handler. The custom error handler will be called when the conversion would otherwise throw an exception. The error handler can either throw a different exception or return a value to be used for the failed conversion.- Specified by:
errorHandler
in interfaceConverterBuilder
- Parameters:
func
- The function to be used to handle errors.- Returns:
- This converter builder for further building.
-
rule
public ConverterBuilder rule(ConverterFunction func)
Description copied from interface:ConverterBuilder
Register a catch-all rule, will be called of no other rule matches.- Specified by:
rule
in interfaceConverterBuilder
- Parameters:
func
- The function that will handle the conversion.- Returns:
- This converter builder for further building.
-
rule
public ConverterBuilder rule(java.lang.reflect.Type t, ConverterFunction func)
Description copied from interface:ConverterBuilder
Register a conversion rule for this converter. Note that only the target type is specified, so the rule will be visited for every conversion to the target type.- Specified by:
rule
in interfaceConverterBuilder
- Parameters:
t
- The type that this rule will produce.func
- The function that will handle the conversion.- Returns:
- This converter builder for further building.
-
rule
public ConverterBuilder rule(TargetRule rule)
Description copied from interface:ConverterBuilder
Register a conversion rule for this converter.- Specified by:
rule
in interfaceConverterBuilder
- Parameters:
rule
- A rule implementation.- Returns:
- This converter builder for further building.
-
getRulesList
private java.util.List<ConverterFunction> getRulesList(java.lang.reflect.Type type)
-
-