Interface Param<P>

Type Parameters:
P - type of parameter
All Known Implementing Classes:
Param.ExecutionMode, Param.LockingMode, Param.PersistenceMode, Param.ReplicationMode, Param.StatisticsMode

@Experimental public interface Param<P>
An easily extensible parameter that allows functional map operations to be tweaked. Examples would include local-only parameter, skip-cache-store parameter and others.

What makes Param different from MetaParam is that Param values are never stored in the functional map. They merely act as ways to tweak how operations are executed.

Since Param instances control how the internals work, only Param implementations by Infinispan will be supported.

This interface is equivalent to Infinispan's Flag, but it's more powerful because it allows to pass a flag along with a value. Infinispan's Flag are enum based which means no values can be passed along with value.

Since each param is an independent entity, it's easy to create public versus private parameter distinction. When parameters are stored in enums, it's more difficult to make such distinction.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    static enum 
    Defines where is the command executed.
    static enum 
    Normally the cache has to acquire locks during any write operation to guarantee its correctness.
    static enum 
    When a persistence store is attached to a cache, by default all write operations, regardless of whether they are inserts, updates or removes, are persisted to the store.
    static enum 
    static enum 
    Defines how statistics are gathered for this command.
  • Method Summary

    Modifier and Type
    Parameter's value.
    A parameter's identifier.
  • Method Details

    • id

      int id()
      A parameter's identifier. Each parameter must have a different id.

      A numeric id makes it flexible enough to be stored in collections that take up low resources, such as arrays.

    • get

      P get()
      Parameter's value.