Class NameHandler

  • All Implemented Interfaces:
    AFCallbackHandler

    public class NameHandler
    extends Object
    implements AFCallbackHandler
    A simple callback handler providing a name to the appropriate callbacks (NameCallback) if required. Optionally an additional AFCallbackHandler can be provided to which all other Callbacks will be forwarded. If this is not provided and another callback is required, the callback handling will fail.
    Author:
    Ulrich Kreher
    • Field Detail

      • name

        protected final String name
        The name to provide in a NameCallback if required.
      • furtherHandling

        protected final AFCallbackHandler furtherHandling
        The callback handler for all other callbacks.
    • Constructor Detail

      • NameHandler

        public NameHandler​(String name)
        Creates a callback handler providing the designated name to the appropriate callbacks. If another Callback is required besides a NameCallback, callback handling will fail.
        Parameters:
        name - The name to provide in a NameCallback if required.
      • NameHandler

        public NameHandler​(String name,
                           AFCallbackHandler furtherHandling)
        Creates a callback handler providing the designated name to the appropriate callbacks. If another Callback is required besides a NameCallback, these callbacks will be collected and provided to the designated AFCallbackHandler.
        Parameters:
        name - The name to provide in a NameCallback if required.
        furtherHandling - The AFCallbackHandler to which all other callbacks will be forwarded. This may be null which equals NameHandler(String).
    • Method Detail

      • handle

        public Callback[] handle​(Callback[] callbacks)
                          throws UnsupportedCallbackException,
                                 IOException
        Description copied from interface: AFCallbackHandler
        This method is similar to CallbackHandler.handle(Callback[]) but returns the provided callbacks back to the caller. This allows for calling this method remotely. Note that all callbacks need to be serialisable.
        When called remotely, the provided callbacks are copies of the server-side objects. When changing these objects, the changes are not reflected on server side. Therefore these objects (or rather copies of them) need to be returned.
        Specified by:
        handle in interface AFCallbackHandler
        Parameters:
        callbacks - The callbacks to be handled by this callback handler.
        Returns:
        All the callbacks that should be handled by this callback handler. Just return the complete array of callbacks. Do not skip any callbacks, for instance the ones that the callback handler did not handle!
        Throws:
        UnsupportedCallbackException - If the implementation of this method does not support one or more of the callbacks specified in the callbacks parameter, an UnsupportedCallbackException will be thrown.
        IOException - If an input or output error occurs, an IOException will be thrown.