Package org.apache.iceberg.common
Class DynFields.Builder
- java.lang.Object
-
- org.apache.iceberg.common.DynFields.Builder
-
- Enclosing class:
- DynFields
public static class DynFields.Builder extends java.lang.Object
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> DynFields.UnboundField<T>build()Returns the first valid implementation as a UnboundField or throws a NoSuchFieldException if there is none.<T> DynFields.BoundField<T>build(java.lang.Object target)Returns the first valid implementation as a BoundMethod or throws a RuntimeException if there is none.<T> DynFields.UnboundField<T>buildChecked()Returns the first valid implementation as a UnboundField or throws a NoSuchFieldException if there is none.<T> DynFields.BoundField<T>buildChecked(java.lang.Object target)Returns the first valid implementation as a BoundMethod or throws a NoSuchMethodException if there is none.<T> DynFields.StaticField<T>buildStatic()Returns the first valid implementation as a StaticField or throws a RuntimeException if there is none.<T> DynFields.StaticField<T>buildStaticChecked()Returns the first valid implementation as a StaticField or throws a NoSuchFieldException if there is none.DynFields.BuilderdefaultAlwaysNull()Instructs this builder to return AlwaysNull if no implementation is found.DynFields.BuilderhiddenImpl(java.lang.Class<?> targetClass, java.lang.String fieldName)Checks for a hidden implementation.DynFields.BuilderhiddenImpl(java.lang.String className, java.lang.String fieldName)Checks for a hidden implementation, first finding the class by name.DynFields.Builderimpl(java.lang.Class<?> targetClass, java.lang.String fieldName)Checks for an implementation.DynFields.Builderimpl(java.lang.String className, java.lang.String fieldName)Checks for an implementation, first finding the class by name.DynFields.Builderloader(java.lang.ClassLoader newLoader)Set theClassLoaderused to lookup classes by name.
-
-
-
Method Detail
-
loader
public DynFields.Builder loader(java.lang.ClassLoader newLoader)
Set theClassLoaderused to lookup classes by name.If not set, the current thread's ClassLoader is used.
- Parameters:
newLoader- a ClassLoader- Returns:
- this Builder for method chaining
-
defaultAlwaysNull
public DynFields.Builder defaultAlwaysNull()
Instructs this builder to return AlwaysNull if no implementation is found.- Returns:
- this Builder for method chaining
-
impl
public DynFields.Builder impl(java.lang.String className, java.lang.String fieldName)
Checks for an implementation, first finding the class by name.- Parameters:
className- name of a classfieldName- name of the field- Returns:
- this Builder for method chaining
- See Also:
Class.forName(String),Class.getField(String)
-
impl
public DynFields.Builder impl(java.lang.Class<?> targetClass, java.lang.String fieldName)
Checks for an implementation.- Parameters:
targetClass- a class instancefieldName- name of a field (different from constructor)- Returns:
- this Builder for method chaining
- See Also:
Class.forName(String),Class.getField(String)
-
hiddenImpl
public DynFields.Builder hiddenImpl(java.lang.String className, java.lang.String fieldName)
Checks for a hidden implementation, first finding the class by name.- Parameters:
className- name of a classfieldName- name of a field (different from constructor)- Returns:
- this Builder for method chaining
- See Also:
Class.forName(String),Class.getField(String)
-
hiddenImpl
public DynFields.Builder hiddenImpl(java.lang.Class<?> targetClass, java.lang.String fieldName)
Checks for a hidden implementation.- Parameters:
targetClass- a class instancefieldName- name of a field (different from constructor)- Returns:
- this Builder for method chaining
- See Also:
Class.forName(String),Class.getField(String)
-
buildChecked
public <T> DynFields.UnboundField<T> buildChecked() throws java.lang.NoSuchFieldException
Returns the first valid implementation as a UnboundField or throws a NoSuchFieldException if there is none.- Type Parameters:
T- Java class stored in the field- Returns:
- a
DynFields.UnboundFieldwith a valid implementation - Throws:
java.lang.NoSuchFieldException- if no implementation was found
-
buildChecked
public <T> DynFields.BoundField<T> buildChecked(java.lang.Object target) throws java.lang.NoSuchFieldException
Returns the first valid implementation as a BoundMethod or throws a NoSuchMethodException if there is none.- Type Parameters:
T- Java class stored in the field- Parameters:
target- an Object on which to get and set the field- Returns:
- a
DynFields.BoundFieldwith a valid implementation and target - Throws:
java.lang.IllegalStateException- if the method is staticjava.lang.IllegalArgumentException- if the receiver's class is incompatiblejava.lang.NoSuchFieldException- if no implementation was found
-
build
public <T> DynFields.UnboundField<T> build()
Returns the first valid implementation as a UnboundField or throws a NoSuchFieldException if there is none.- Type Parameters:
T- Java class stored in the field- Returns:
- a
DynFields.UnboundFieldwith a valid implementation - Throws:
java.lang.RuntimeException- if no implementation was found
-
build
public <T> DynFields.BoundField<T> build(java.lang.Object target)
Returns the first valid implementation as a BoundMethod or throws a RuntimeException if there is none.- Type Parameters:
T- Java class stored in the field- Parameters:
target- an Object on which to get and set the field- Returns:
- a
DynFields.BoundFieldwith a valid implementation and target - Throws:
java.lang.IllegalStateException- if the method is staticjava.lang.IllegalArgumentException- if the receiver's class is incompatiblejava.lang.RuntimeException- if no implementation was found
-
buildStaticChecked
public <T> DynFields.StaticField<T> buildStaticChecked() throws java.lang.NoSuchFieldException
Returns the first valid implementation as a StaticField or throws a NoSuchFieldException if there is none.- Type Parameters:
T- Java class stored in the field- Returns:
- a
DynFields.StaticFieldwith a valid implementation - Throws:
java.lang.IllegalStateException- if the method is not staticjava.lang.NoSuchFieldException- if no implementation was found
-
buildStatic
public <T> DynFields.StaticField<T> buildStatic()
Returns the first valid implementation as a StaticField or throws a RuntimeException if there is none.- Type Parameters:
T- Java class stored in the field- Returns:
- a
DynFields.StaticFieldwith a valid implementation - Throws:
java.lang.IllegalStateException- if the method is not staticjava.lang.RuntimeException- if no implementation was found
-
-