java.lang.Object
com.github.benmanes.caffeine.cache.CaffeineSpec

@NullMarked public final class CaffeineSpec extends Object
A specification of a Caffeine builder configuration.

CaffeineSpec supports parsing configuration from a string, which makes it especially useful for command-line configuration of a Caffeine builder.

The string syntax is a series of comma-separated keys or key-value pairs, each corresponding to a Caffeine builder method.

Durations are represented as either an ISO-8601 string using Duration.parse(CharSequence) or by an integer followed by one of "d", "h", "m", or "s", representing days, hours, minutes, or seconds, respectively. There is currently no short syntax to request durations in milliseconds, microseconds, or nanoseconds.

Whitespace before and after commas and equal signs is ignored. Keys may not be repeated; it is also illegal to use the following pairs of keys in a single value:

  • maximumSize and maximumWeight
  • weakValues and softValues

CaffeineSpec does not support configuring Caffeine methods with non-value parameters. These must be configured in code.

A new Caffeine builder can be instantiated from a CaffeineSpec using Caffeine.from(CaffeineSpec) or Caffeine.from(String).

  • Method Details

    • parse

      public static CaffeineSpec parse(String specification)
      Creates a CaffeineSpec from a string.
      Parameters:
      specification - the string form
      Returns:
      the parsed specification
    • equals

      public boolean equals(@Nullable Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toParsableString

      public String toParsableString()
      Returns a string representation that can be used to parse an equivalent CaffeineSpec. The order and form of this representation is not guaranteed, except that parsing its output will produce a CaffeineSpec equal to this instance.
      Returns:
      a string representation of this specification that can be parsed into a CaffeineSpec
    • toString

      public String toString()
      Returns a string representation for this CaffeineSpec instance. The form of this representation is not guaranteed.
      Overrides:
      toString in class Object