Interface BiStringLookup<U>

  • Type Parameters:
    U - The second argument type.
    All Superinterfaces:
    StringLookup
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface BiStringLookup<U>
    extends StringLookup
    Lookups a String key for a String value.

    This class represents the simplest form of a string to string map. It has a benefit over a map in that it can create the result on demand based on the key.

    For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database.

    Like BiFunction is a variant of Function, this BiStringLookup is a variant of StringLookup.

    Since:
    1.9
    • Method Summary

      All Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      default java.lang.String lookup​(java.lang.String key, U object)
      Looks up a String key to provide a String value.
    • Method Detail

      • lookup

        default java.lang.String lookup​(java.lang.String key,
                                        U object)
        Looks up a String key to provide a String value.

        The internal implementation may use any mechanism to return the value. The simplest implementation is to use a Map. However, virtually any implementation is possible.

        For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database Or, a numeric based implementation could be created that treats the key as an integer, increments the value and return the result as a string - converting 1 to 2, 15 to 16 etc.

        This method always returns a String, regardless of the underlying data, by converting it as necessary. For example:

         Map<String, Object> map = new HashMap<String, Object>();
         map.put("number", new Integer(2));
         assertEquals("2", StringLookupFactory.biFunctionStringLookup(map).lookup("number", "A context object"));
         
        Parameters:
        key - the key to look up, may be null.
        object - ignored by default.
        Returns:
        The matching value, null if no match.