Package org.apache.iceberg.common
Class DynMethods.Builder
- java.lang.Object
 - 
- org.apache.iceberg.common.DynMethods.Builder
 
 
- 
- Enclosing class:
 - DynMethods
 
public static class DynMethods.Builder extends java.lang.Object 
- 
- 
Constructor Summary
Constructors Constructor Description Builder(java.lang.String methodName) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DynMethods.UnboundMethodbuild()Returns the first valid implementation as a UnboundMethod or throws a RuntimeError if there is none.DynMethods.BoundMethodbuild(java.lang.Object receiver)Returns the first valid implementation as a BoundMethod or throws a RuntimeError if there is none.DynMethods.UnboundMethodbuildChecked()Returns the first valid implementation as a UnboundMethod or throws a NoSuchMethodException if there is none.DynMethods.BoundMethodbuildChecked(java.lang.Object receiver)Returns the first valid implementation as a BoundMethod or throws a NoSuchMethodException if there is none.DynMethods.StaticMethodbuildStatic()Returns the first valid implementation as a StaticMethod or throws a RuntimeException if there is none.DynMethods.StaticMethodbuildStaticChecked()Returns the first valid implementation as a StaticMethod or throws a NoSuchMethodException if there is none.DynMethods.BuilderctorImpl(java.lang.Class<?> targetClass, java.lang.Class<?>... argClasses)DynMethods.BuilderctorImpl(java.lang.String className, java.lang.Class<?>... argClasses)DynMethods.BuilderhiddenImpl(java.lang.Class<?> targetClass, java.lang.Class<?>... argClasses)Checks for a method implementation.DynMethods.BuilderhiddenImpl(java.lang.Class<?> targetClass, java.lang.String methodName, java.lang.Class<?>... argClasses)Checks for a method implementation.DynMethods.BuilderhiddenImpl(java.lang.String className, java.lang.Class<?>... argClasses)Checks for an implementation, first finding the given class by name.DynMethods.BuilderhiddenImpl(java.lang.String className, java.lang.String methodName, java.lang.Class<?>... argClasses)Checks for an implementation, first finding the given class by name.DynMethods.Builderimpl(java.lang.Class<?> targetClass, java.lang.Class<?>... argClasses)Checks for a method implementation.DynMethods.Builderimpl(java.lang.Class<?> targetClass, java.lang.String methodName, java.lang.Class<?>... argClasses)Checks for a method implementation.DynMethods.Builderimpl(java.lang.String className, java.lang.Class<?>... argClasses)Checks for an implementation, first finding the given class by name.DynMethods.Builderimpl(java.lang.String className, java.lang.String methodName, java.lang.Class<?>... argClasses)Checks for an implementation, first finding the given class by name.DynMethods.Builderloader(java.lang.ClassLoader newLoader)Set theClassLoaderused to lookup classes by name.DynMethods.BuilderorNoop()If no implementation has been found, adds a NOOP method. 
 - 
 
- 
- 
Method Detail
- 
loader
public DynMethods.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
 
 
- 
orNoop
public DynMethods.Builder orNoop()
If no implementation has been found, adds a NOOP method. Note: calls to impl will not match after this method is called!- Returns:
 - this Builder for method chaining
 
 
- 
impl
public DynMethods.Builder impl(java.lang.String className, java.lang.String methodName, java.lang.Class<?>... argClasses)
Checks for an implementation, first finding the given class by name.- Parameters:
 className- name of a classmethodName- name of a method (different from constructor)argClasses- argument classes for the method- Returns:
 - this Builder for method chaining
 - See Also:
 Class.forName(String),Class.getMethod(String, Class[])
 
- 
impl
public DynMethods.Builder impl(java.lang.String className, java.lang.Class<?>... argClasses)
Checks for an implementation, first finding the given class by name. The name passed to the constructor is the method name used.- Parameters:
 className- name of a classargClasses- argument classes for the method- Returns:
 - this Builder for method chaining
 - See Also:
 Class.forName(String),Class.getMethod(String, Class[])
 
- 
impl
public DynMethods.Builder impl(java.lang.Class<?> targetClass, java.lang.String methodName, java.lang.Class<?>... argClasses)
Checks for a method implementation.- Parameters:
 targetClass- a class instancemethodName- name of a method (different from constructor)argClasses- argument classes for the method- Returns:
 - this Builder for method chaining
 - See Also:
 Class.forName(String),Class.getMethod(String, Class[])
 
- 
impl
public DynMethods.Builder impl(java.lang.Class<?> targetClass, java.lang.Class<?>... argClasses)
Checks for a method implementation. The name passed to the constructor is the method name used.- Parameters:
 targetClass- a class instanceargClasses- argument classes for the method- Returns:
 - this Builder for method chaining
 - See Also:
 Class.forName(String),Class.getMethod(String, Class[])
 
- 
ctorImpl
public DynMethods.Builder ctorImpl(java.lang.Class<?> targetClass, java.lang.Class<?>... argClasses)
 
- 
ctorImpl
public DynMethods.Builder ctorImpl(java.lang.String className, java.lang.Class<?>... argClasses)
 
- 
hiddenImpl
public DynMethods.Builder hiddenImpl(java.lang.String className, java.lang.String methodName, java.lang.Class<?>... argClasses)
Checks for an implementation, first finding the given class by name.- Parameters:
 className- name of a classmethodName- name of a method (different from constructor)argClasses- argument classes for the method- Returns:
 - this Builder for method chaining
 - See Also:
 Class.forName(String),Class.getMethod(String, Class[])
 
- 
hiddenImpl
public DynMethods.Builder hiddenImpl(java.lang.String className, java.lang.Class<?>... argClasses)
Checks for an implementation, first finding the given class by name. The name passed to the constructor is the method name used.- Parameters:
 className- name of a classargClasses- argument classes for the method- Returns:
 - this Builder for method chaining
 - See Also:
 Class.forName(String),Class.getMethod(String, Class[])
 
- 
hiddenImpl
public DynMethods.Builder hiddenImpl(java.lang.Class<?> targetClass, java.lang.String methodName, java.lang.Class<?>... argClasses)
Checks for a method implementation.- Parameters:
 targetClass- a class instancemethodName- name of a method (different from constructor)argClasses- argument classes for the method- Returns:
 - this Builder for method chaining
 - See Also:
 Class.forName(String),Class.getMethod(String, Class[])
 
- 
hiddenImpl
public DynMethods.Builder hiddenImpl(java.lang.Class<?> targetClass, java.lang.Class<?>... argClasses)
Checks for a method implementation. The name passed to the constructor is the method name used.- Parameters:
 targetClass- a class instanceargClasses- argument classes for the method- Returns:
 - this Builder for method chaining
 - See Also:
 Class.forName(String),Class.getMethod(String, Class[])
 
- 
build
public DynMethods.UnboundMethod build()
Returns the first valid implementation as a UnboundMethod or throws a RuntimeError if there is none.- Returns:
 - a 
DynMethods.UnboundMethodwith a valid implementation - Throws:
 java.lang.RuntimeException- if no implementation was found
 
- 
build
public DynMethods.BoundMethod build(java.lang.Object receiver)
Returns the first valid implementation as a BoundMethod or throws a RuntimeError if there is none.- Parameters:
 receiver- an Object to receive the method invocation- Returns:
 - a 
DynMethods.BoundMethodwith a valid implementation and receiver - 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
 
- 
buildChecked
public DynMethods.UnboundMethod buildChecked() throws java.lang.NoSuchMethodException
Returns the first valid implementation as a UnboundMethod or throws a NoSuchMethodException if there is none.- Returns:
 - a 
DynMethods.UnboundMethodwith a valid implementation - Throws:
 java.lang.NoSuchMethodException- if no implementation was found
 
- 
buildChecked
public DynMethods.BoundMethod buildChecked(java.lang.Object receiver) throws java.lang.NoSuchMethodException
Returns the first valid implementation as a BoundMethod or throws a NoSuchMethodException if there is none.- Parameters:
 receiver- an Object to receive the method invocation- Returns:
 - a 
DynMethods.BoundMethodwith a valid implementation and receiver - Throws:
 java.lang.IllegalStateException- if the method is staticjava.lang.IllegalArgumentException- if the receiver's class is incompatiblejava.lang.NoSuchMethodException- if no implementation was found
 
- 
buildStaticChecked
public DynMethods.StaticMethod buildStaticChecked() throws java.lang.NoSuchMethodException
Returns the first valid implementation as a StaticMethod or throws a NoSuchMethodException if there is none.- Returns:
 - a 
DynMethods.StaticMethodwith a valid implementation - Throws:
 java.lang.IllegalStateException- if the method is not staticjava.lang.NoSuchMethodException- if no implementation was found
 
- 
buildStatic
public DynMethods.StaticMethod buildStatic()
Returns the first valid implementation as a StaticMethod or throws a RuntimeException if there is none.- Returns:
 - a 
DynMethods.StaticMethodwith a valid implementation - Throws:
 java.lang.IllegalStateException- if the method is not staticjava.lang.RuntimeException- if no implementation was found
 
 - 
 
 -