Package opennlp.tools.util.normalizer

# Interface EmojiAnnotationJoin

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 EmojiAnnotationJoin
The joined-facts layer of the emoji annotation record store: a hook through which facts that live in user-installed data, typically a gazetteer (coordinates, containment chain, GeoNames or Who's On First identifiers), are resolved at run time and merged into an `EmojiAnnotation`. Register an implementation on an `EmojiAnnotator`; no implementation is shipped.

The stable join key is the ISO 3166 code decoded by `EmojiFlags`: a flag emoji resolves against whatever region data the user has installed. Foreign identifiers (for example GeoNames or Who's On First) and the check that a decoded code is an assigned region live in the join, not in the bundled or derived data.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Map<String,EmojiAnnotation.Value>`
  `join(String symbol, String isoRegion)`
  Resolves joined attribute values for one symbol.

- ## Method Details

  - ### join

    Map<String,EmojiAnnotation.Value> join(String symbol, String isoRegion)
    Resolves joined attribute values for one symbol. Called by `EmojiAnnotator` only while an annotation is being assembled, that is when the symbol already has bundled or derived facts; the join augments records, it never creates them.
    Parameters:
      `symbol` - The annotated code point sequence, without the U+FE0F presentation selector.
      `isoRegion` - The ISO 3166 code decoded from the symbol, or `null` when the symbol is not a flag.
    Returns:
      The joined attribute values keyed by attribute name, empty when there is nothing to add; never `null`. Keys must not collide with attributes already on the record (the annotator fails loud on a collision), and every value carries its own provenance in `EmojiAnnotation.Value.source()`.