Class MethodDelegationBinder.MethodBinding.Builder

    • Field Detail

      • candidate

        private final MethodDescription candidate
        The target method that for which a binding is to be constructed by this builder..
      • parameterStackManipulations

        private final java.util.List<StackManipulation> parameterStackManipulations
        The current list of stack manipulations for loading values for each parameter onto the operand stack.
      • registeredTargetIndices

        private final java.util.LinkedHashMap<java.lang.Object,​java.lang.Integer> registeredTargetIndices
        A mapping of identification tokens to the parameter index they were bound for.
      • nextParameterIndex

        private int nextParameterIndex
        The index of the next parameter that is to be bound.
    • Constructor Detail

      • Builder

        public Builder​(MethodDelegationBinder.MethodInvoker methodInvoker,
                       MethodDescription candidate)
        Creates a new builder for the binding of a given method.
        Parameters:
        methodInvoker - The method invoker that is used to create the method invocation of the target method.
        candidate - The target method that is target of the binding.
    • Method Detail

      • append

        public boolean append​(MethodDelegationBinder.ParameterBinding<?> parameterBinding)
        Appends a stack manipulation for the next parameter of the target method.
        Parameters:
        parameterBinding - A binding representing the next subsequent parameter of the method.
        Returns:
        false if the parameterBindingToken was already bound. A conflicting binding should usually abort the attempt of binding a method and this Builder should be discarded.
      • build

        public MethodDelegationBinder.MethodBinding build​(StackManipulation terminatingManipulation)
        Creates a binding that represents the bindings collected by this Builder.
        Parameters:
        terminatingManipulation - A stack manipulation that is applied after the method invocation.
        Returns:
        A binding representing the parameter bindings collected by this builder.