Class AbstractKeyBundler.Bundle

Enclosing class:
AbstractKeyBundler

protected class AbstractKeyBundler.Bundle extends AbstractBundler.Bundle
Bundle represents a unit of optimized execution.
  • Constructor Details

    • Bundle

      protected Bundle()
      Default constructor.
  • Method Details

    • 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