PatternCache (Jakarta-ORO 2.0.8 API)
Date: 2016-03-09

org.apache.oro.text

## Interface PatternCache

- All Known Implementing Classes:
    GenericPatternCache, PatternCacheFIFO, PatternCacheFIFO2, PatternCacheLRU, PatternCacheRandom

      public interface PatternCache

  An interface defining the basic functions of a regular expression cache.

  A PatternCache is an object that takes care of compiling, storing, and retrieving regular expressions so that the programmer does not have to explicitly manage these operation himself. The main benefit derived is the ease of use from only having to express regular expressions by their String representations.

  Since:
    1.0
  Version:
    2.0.8
  See Also:
    `MalformedCachePatternException`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Pattern` | `addPattern(java.lang.String expression)` Adds a pattern to the cache and returns the compiled pattern.
    `Pattern` | `addPattern(java.lang.String expression, int options)` Adds a pattern to the cache and returns the compiled pattern.
    `int` | `capacity()` Returns the maximum number of patterns that can be cached at one time.
    `Pattern` | `getPattern(java.lang.String expression)` This method fetches a pattern from the cache.
    `Pattern` | `getPattern(java.lang.String expression, int options)` This method fetches a pattern from the cache.
    `int` | `size()` Returns the number of elements in the cache, not to be confused with the `capacity()` which returns the number of elements that can be held in the cache at one time.

- - ### Method Detail

    - #### addPattern

          Pattern addPattern(java.lang.String expression)
                             throws MalformedPatternException

      Adds a pattern to the cache and returns the compiled pattern. This method is in principle almost identical to `getPattern(String)` except for the fact that it throws a MalformedPatternException if an expression cannot be compiled.

      addPattern() is meant to be used when you expressly intend to add an expression to a cache and is useful for front-loading a cache with expressions before use. If the expression added does not already exist in the cache, it is compiled, added to the cache, and returned. If the compiled expression is already in the cache, it is simply returned.

      The expected behavior of this method should be to start replacing patterns in the cache only after the cache has been filled to capacity.

      Parameters:
        `expression` - The regular expression to add to the cache.
      Returns:
        The Pattern corresponding to the String representation of the regular expression.
      Throws:
        `MalformedPatternException` - If there is an error in compiling the regular expression.

    - #### addPattern

          Pattern addPattern(java.lang.String expression,
                           int options)
                             throws MalformedPatternException

      Adds a pattern to the cache and returns the compiled pattern. This method is in principle almost identical to `getPattern(String)` except for the fact that it throws a MalformedPatternException if an expression cannot be compiled.

      addPattern() is meant to be used when you expressly intend to add an expression to the cache and is useful for front-loading a cache with expressions before use. If the expression added does not already exist in the cache, it is compiled, added to the cache, and returned. If the compiled expression is already in the cache, it is simply returned.

      The expected behavior of this method should be to start replacing patterns in the cache only after the cache has been filled to capacity.

      Parameters:
        `expression` - The regular expression to add to the cache.
        `options` - The compilation options to use when compiling the expression.
      Returns:
        The Pattern corresponding to the String representation of the regular expression.
      Throws:
        `MalformedPatternException` - If there is an error in compiling the regular expression.

    - #### getPattern

          Pattern getPattern(java.lang.String expression)
                             throws MalformedCachePatternException

      This method fetches a pattern from the cache. It is nearly identical to `addPattern()` except that it doesn't throw a MalformedPatternException. If the pattern is not in the cache, it is compiled, placed in the cache, and returned. If the pattern cannot be compiled successfully, the implementation must throw an exception derived from MalformedCachePatternException. Note that this exception is derived from RuntimeException, which means you are NOT forced to catch it by the compiler. Please refer to `MalformedCachePatternException` for a discussion of when you should and shouldn't catch this exception.

      Parameters:
        `expression` - The regular expression to fetch from the cache in compiled form.
      Returns:
        The Pattern corresponding to the String representation of the regular expression.
      Throws:
        `MalformedCachePatternException` - If there is an error in compiling the regular expression.

    - #### getPattern

          Pattern getPattern(java.lang.String expression,
                           int options)
                             throws MalformedCachePatternException

      This method fetches a pattern from the cache. It is nearly identical to `addPattern()` except that it doesn't throw a MalformedPatternException. If the pattern is not in the cache, it is compiled, placed in the cache, and returned. If the pattern cannot be compiled successfully, it throws a MalformedCachePatternException. Note that this exception is derived from RuntimeException, which means you are NOT forced to catch it by the compiler. Please refer to `MalformedCachePatternException` for a discussion of when you should and shouldn't catch this exception.

      Parameters:
        `expression` - The regular expression to fetch from the cache in compiled form.
        `options` - The compilation options to use when compiling the expression.
      Returns:
        The Pattern corresponding to the String representation of the regular expression.
      Throws:
        `MalformedCachePatternException` - If there is an error in compiling the regular expression.

    - #### size

          int size()

      Returns the number of elements in the cache, not to be confused with the `capacity()` which returns the number of elements that can be held in the cache at one time.

      Returns:
        The current size of the cache (i.e., the number of elements currently cached).

    - #### capacity

          int capacity()

      Returns the maximum number of patterns that can be cached at one time.

      Returns:
        The maximum number of patterns that can be cached at one time.

Copyright ? 2000-2003 Apache Software Foundation. All Rights Reserved.