Class AbstractKeyBundler.Bundle

    • Constructor Detail

      • Bundle

        protected Bundle()
        Default constructor.
    • Method Detail

      • add

        protected boolean add​(Object oKey)
        Add the specified key to the Bundle.

        Note: a call to this method must be externally synchronized for this Bundle object.

        Parameters:
        oKey - the key to add to this Bundle
        Returns:
        true if this Bundle was empty prior to this call
      • addAll

        protected boolean addAll​(Collection colKeys)
        Add the specified collection of keys to the Bundle.

        Note: a call to this method must be externally synchronized for this Bundle object.

        Parameters:
        colKeys - the collection of keys to add to this Bundle
        Returns:
        true if this Bundle was empty prior to this call
      • process

        protected Object process​(boolean fBurst,
                                 Object oKey)
        Process the specified key according to this Bundle state.
        Parameters:
        fBurst - true if this thread is supposed to perform an actual bundled operation (burst); false otherwise
        oKey - the key to process
        Returns:
        an execution result according to the caller's contract
      • processAll

        protected Map processAll​(boolean fBurst,
                                 Collection colKeys)
        Process the specified key collection according to this Bundle state.
        Parameters:
        fBurst - true if this thread is supposed to perform an actual bundled operation (burst); false otherwise
        colKeys - the collection of keys to process
        Returns:
        an execution result according to the caller's contract
      • getBundleSize

        protected int getBundleSize()
        Obtain this bundle size. The return value should be expressed in the same units as the value returned by the getSizeThreshold method.
        Overrides:
        getBundleSize in class AbstractBundler.Bundle
        Returns:
        the bundle size
      • ensureResults

        protected void ensureResults()
        Obtain results of the bundled requests. This method should be implemented by concrete Bundle implementations using the most efficient mechanism.
        Specified by:
        ensureResults in class AbstractBundler.Bundle
      • releaseThread

        protected boolean releaseThread()
        Release all bundle resources associated with the current thread.
        Overrides:
        releaseThread in class AbstractBundler.Bundle
        Returns:
        true iff all entered threads have released