Package org.jdbi.v3.core.extension
Class ExtensionMetadata.Builder
- java.lang.Object
-
- org.jdbi.v3.core.extension.ExtensionMetadata.Builder
-
- Enclosing class:
- ExtensionMetadata
public static final class ExtensionMetadata.Builder extends java.lang.ObjectBuilder class for theExtensionMetadataobject. SeeExtensionMetadata.builder(Class).
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Collection<ConfigCustomizerFactory>configCustomizerFactoriesprivate java.util.Collection<ExtensionHandlerCustomizer>extensionHandlerCustomizersprivate java.util.Collection<ExtensionHandlerFactory>extensionHandlerFactoriesprivate java.lang.Class<?>extensionTypeprivate java.util.Collection<java.lang.reflect.Method>extensionTypeMethodsprivate ConfigCustomizerChaininstanceConfigCustomizerprivate java.util.Map<java.lang.reflect.Method,ConfigCustomizerChain>methodConfigCustomizersprivate java.util.Map<java.lang.reflect.Method,ExtensionHandler>methodHandlers
-
Constructor Summary
Constructors Constructor Description Builder(java.lang.Class<?> extensionType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExtensionMetadata.BuilderaddConfigCustomizerFactory(ConfigCustomizerFactory configCustomizerFactory)Adds anConfigCustomizerFactorythat will be used to find configuration customizers when thebuild()} method is called.ExtensionMetadata.BuilderaddExtensionHandlerCustomizer(ExtensionHandlerCustomizer extensionHandlerCustomizer)Adds anExtensionHandlerCustomizerthat will be used to customize extension handlers when thebuild()} method is called.ExtensionMetadata.BuilderaddExtensionHandlerFactory(ExtensionHandlerFactory extensionHandlerFactory)Adds anExtensionHandlerFactorythat will be used to find extension handlers when thebuild()} method is called.ExtensionMetadata.BuilderaddInstanceConfigCustomizer(ConfigCustomizer configCustomizer)Add an instance specific configuration customizer.ExtensionMetadata.BuilderaddMethodConfigCustomizer(java.lang.reflect.Method method, ConfigCustomizer configCustomizer)Add a method specific configuration customizer.ExtensionMetadata.BuilderaddMethodHandler(java.lang.reflect.Method method, ExtensionHandler handler)Adds a new extension handler for a method.ExtensionMetadatabuild()Creates a newExtensionMetadataobject.private java.util.Optional<ExtensionHandler>findExtensionHandlerFor(java.lang.Class<?> extensionType, java.lang.reflect.Method method)java.lang.Class<?>getExtensionType()Returns the extension type from the builder.
-
-
-
Field Detail
-
extensionType
private final java.lang.Class<?> extensionType
-
extensionHandlerFactories
private final java.util.Collection<ExtensionHandlerFactory> extensionHandlerFactories
-
extensionHandlerCustomizers
private final java.util.Collection<ExtensionHandlerCustomizer> extensionHandlerCustomizers
-
configCustomizerFactories
private final java.util.Collection<ConfigCustomizerFactory> configCustomizerFactories
-
instanceConfigCustomizer
private final ConfigCustomizerChain instanceConfigCustomizer
-
methodConfigCustomizers
private final java.util.Map<java.lang.reflect.Method,ConfigCustomizerChain> methodConfigCustomizers
-
methodHandlers
private final java.util.Map<java.lang.reflect.Method,ExtensionHandler> methodHandlers
-
extensionTypeMethods
private final java.util.Collection<java.lang.reflect.Method> extensionTypeMethods
-
-
Method Detail
-
addExtensionHandlerFactory
public ExtensionMetadata.Builder addExtensionHandlerFactory(ExtensionHandlerFactory extensionHandlerFactory)
Adds anExtensionHandlerFactorythat will be used to find extension handlers when thebuild()} method is called.- Parameters:
extensionHandlerFactory- AnExtensionHandlerFactoryinstance- Returns:
- The builder instance
-
addExtensionHandlerCustomizer
public ExtensionMetadata.Builder addExtensionHandlerCustomizer(ExtensionHandlerCustomizer extensionHandlerCustomizer)
Adds anExtensionHandlerCustomizerthat will be used to customize extension handlers when thebuild()} method is called.- Parameters:
extensionHandlerCustomizer- AnExtensionHandlerCustomizerinstance- Returns:
- The builder instance
-
addConfigCustomizerFactory
public ExtensionMetadata.Builder addConfigCustomizerFactory(ConfigCustomizerFactory configCustomizerFactory)
Adds anConfigCustomizerFactorythat will be used to find configuration customizers when thebuild()} method is called.- Parameters:
configCustomizerFactory- AnConfigCustomizerFactoryinstance- Returns:
- The builder instance
-
addInstanceConfigCustomizer
public ExtensionMetadata.Builder addInstanceConfigCustomizer(ConfigCustomizer configCustomizer)
Add an instance specific configuration customizer. This customizer will be applied to all methods on the extension type.- Parameters:
configCustomizer- AConfigCustomizer- Returns:
- The builder instance
-
addMethodConfigCustomizer
public ExtensionMetadata.Builder addMethodConfigCustomizer(java.lang.reflect.Method method, ConfigCustomizer configCustomizer)
Add a method specific configuration customizer. This customizer will be applied only to the method given here.- Parameters:
method- A method objectconfigCustomizer- AConfigCustomizer- Returns:
- The builder instance
-
addMethodHandler
public ExtensionMetadata.Builder addMethodHandler(java.lang.reflect.Method method, ExtensionHandler handler)
Adds a new extension handler for a method.- Parameters:
method- The method for which an extension handler should be registered.handler- AnExtensionHandlerinstance- Returns:
- The builder instance
-
getExtensionType
public java.lang.Class<?> getExtensionType()
Returns the extension type from the builder.- Returns:
- The extension type
-
build
public ExtensionMetadata build()
Creates a newExtensionMetadataobject.- Returns:
- A
ExtensionMetadataobject
-
findExtensionHandlerFor
private java.util.Optional<ExtensionHandler> findExtensionHandlerFor(java.lang.Class<?> extensionType, java.lang.reflect.Method method)
-
-