### get Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/TokenRepo.html Retrieves the set of elements associated with a given token. ```APIDOC ## get(Token token) ### Description Retrieves the set of elements associated with a given token. ### Method `Set get(Token token)` ### Parameters #### Path Parameters - **token** (Token) - Description: The token to retrieve elements for. ### Response #### Success Response (200) - **Set** - Description: A set of elements associated with the token. ``` -------------------------------- ### Getting MatchType from Elements Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/MatchType.html Demonstrates how to retrieve the MatchType associated with an Element. ```APIDOC ## Retrieving MatchType from Elements ### Description Methods within the `com.intuit.fuzzymatcher.domain` package that return a `MatchType`. ### Methods #### `MatchType Element.getMatchType()` Returns the `MatchType` of the element. #### `MatchType ElementType.getMatchType()` Returns the `MatchType` associated with the element type. ``` -------------------------------- ### getChildCount Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/function/ScoringFunction.html Gets the number of children for a given Match object. ```APIDOC ## getChildCount static double getChildCount(Match match) ### Description Gets the number of children for a given Match object. ``` -------------------------------- ### Element Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Element.html Initializes a new Element with various matching parameters. ```APIDOC ## Element Constructor ### Description Initializes a new Element with various matching parameters including type, variance, value, weight, threshold, neighborhood range, pre-processing function, tokenizer function, and match type. ### Signature `public Element(ElementType type, String variance, T value, double weight, double threshold, double neighborhoodRange, Function preProcessFunction, Function, Stream> tokenizerFunction, MatchType matchType)` ``` -------------------------------- ### getUnmatchedChildScore Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/function/ScoringFunction.html Gets the score for unmatched children within a Match object. ```APIDOC ## getUnmatchedChildScore static double getUnmatchedChildScore(Match match) ### Description Gets the score for unmatched children within a Match object. ``` -------------------------------- ### MatchService Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/MatchService.html Initializes a new instance of the MatchService class. ```APIDOC ## MatchService Constructor ### Description Initializes a new instance of the MatchService class. ### Method ```java public MatchService() ``` ``` -------------------------------- ### TokenRepo Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/TokenRepo.html Initializes a new instance of the TokenRepo class. ```APIDOC ## TokenRepo() ### Description Initializes a new instance of the TokenRepo class. ### Constructor `TokenRepo()` ``` -------------------------------- ### DocumentMatch Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/DocumentMatch.html Initializes a new instance of the DocumentMatch class. ```APIDOC ## DocumentMatch() ### Description Initializes a new instance of the DocumentMatch class. ### Constructor `DocumentMatch()` ``` -------------------------------- ### Constructors Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Match.html Constructors for creating Match objects. ```APIDOC ## Constructors ### Match(T t, T matchedWith) Creates a new Match object with the two matched objects. ### Match(T t, T matchedWith, List childScores) Creates a new Match object with the two matched objects and a list of child scores. ### Match(T t, T matchedWith, double result) Creates a new Match object with the two matched objects and a specific result score. ``` -------------------------------- ### Element.Builder Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Element.Builder.html This section covers the methods used to configure and create an Element object. ```APIDOC ## Builder() ### Description Constructs a new Builder instance. ### Method `Builder()` ### Endpoint N/A (Constructor) ## setType ### Description Sets the ElementType for the element. ### Method `Element.Builder setType(ElementType type)` ### Endpoint N/A (Method) ## setVariance ### Description Sets the variance for the element. ### Method `Element.Builder setVariance(String variance)` ### Endpoint N/A (Method) ## setValue ### Description Sets the value of the element. ### Method `Element.Builder setValue(T value)` ### Endpoint N/A (Method) ## setWeight ### Description Sets the weight of the element. ### Method `Element.Builder setWeight(double weight)` ### Endpoint N/A (Method) ## setThreshold ### Description Sets the threshold for matching. ### Method `Element.Builder setThreshold(double threshold)` ### Endpoint N/A (Method) ## setNeighborhoodRange ### Description Sets the neighborhood range for fuzzy matching. ### Method `Element.Builder setNeighborhoodRange(double neighborhoodRange)` ### Endpoint N/A (Method) ## setPreProcessingFunction ### Description Sets a function to pre-process the element's value. ### Method `Element.Builder setPreProcessingFunction(Function preProcessingFunction)` ### Endpoint N/A (Method) ## setTokenizerFunction ### Description Sets a function to tokenize the element's value. ### Method `Element.Builder setTokenizerFunction(Function, Stream> tokenizerFunction)` ### Endpoint N/A (Method) ## setMatchType ### Description Sets the match type for the element. ### Method `Element.Builder setMatchType(MatchType matchType)` ### Endpoint N/A (Method) ## createElement ### Description Creates an Element object with the configured settings. ### Method `Element createElement()` ### Endpoint N/A (Method) ``` -------------------------------- ### ElementMatch Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/ElementMatch.html Initializes a new instance of the ElementMatch class. ```APIDOC ## ElementMatch() ### Description Initializes a new instance of the ElementMatch class. ### Constructor `ElementMatch()` ``` -------------------------------- ### MatchService Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html The entry point for all fuzzy matching operations. ```APIDOC ## MatchService ### Description This class serves as the primary entry point for utilizing the fuzzy matching capabilities of the library. It orchestrates the matching process and provides access to various matching functionalities. ``` -------------------------------- ### Document.Builder Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Document.Builder.html Initializes a new instance of the Document.Builder class with a specified key. ```APIDOC ## Builder(String key) ### Description Initializes a new instance of the Document.Builder class. ### Parameters * **key** (String) - The key for the document. ``` -------------------------------- ### Matchable Interface Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Matchable.html This section details the methods available in the Matchable interface that accept another Matchable object as a parameter. ```APIDOC ## Matchable Interface ### Methods #### `long` getChildCount(Matchable other) #### `long` getUnmatchedChildCount(Matchable other) ### Description These methods are part of the `Matchable` interface. They are designed to compare the child elements or unmatched child elements between two `Matchable` objects. ``` -------------------------------- ### Setting MatchType in Element Builder Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/MatchType.html Illustrates how to set the MatchType when building an Element. ```APIDOC ## Setting MatchType in Element Builder ### Description This method is used within the `Element.Builder` to specify the `MatchType` for a new element. ### Method Signature `Element.Builder Element.Builder.setMatchType(MatchType matchType)` ### Parameters - **matchType** (MatchType) - The type of match to set for the element. ``` -------------------------------- ### Element Constructor with MatchType Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/MatchType.html Shows the constructor for the Element class that accepts a MatchType. ```APIDOC ## Element Constructor with MatchType ### Description This constructor allows for the creation of an `Element` object with a specified `MatchType`. ### Constructor Signature `Element(ElementType type, String variance, T value, double weight, double threshold, double neighborhoodRange, Function preProcessFunction, Function, Stream> tokenizerFunction, MatchType matchType)` ### Parameters - **matchType** (MatchType) - The type of match for this element. ``` -------------------------------- ### Matchable Interface Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Matchable.html This section details the methods available on the Matchable interface, which are used for comparing and scoring matchable objects. ```APIDOC ## Interface: Matchable Implemented by `Document`, `Element`, and `Token` to enable matching and scoring these objects. ### Methods #### `getChildCount(Matchable other)` * **Description**: Returns the count of child elements between two `Matchable` objects. * **Return Type**: `long` #### `getScoringFunction()` * **Description**: Retrieves the scoring function used for comparing `Matchable` objects. * **Return Type**: `BiFunction, Score>` #### `getUnmatchedChildCount(Matchable other)` * **Description**: Returns the count of unmatched child elements between two `Matchable` objects. * **Return Type**: `long` #### `getWeight()` * **Description**: Returns the weight associated with the `Matchable` object. * **Return Type**: `double` ``` -------------------------------- ### put Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/TokenRepo.html Adds a token and its associated elements to the repository. ```APIDOC ## put(Token token) ### Description Adds a token and its associated elements to the repository. ### Method `void put(Token token)` ### Parameters #### Path Parameters - **token** (Token) - Description: The token to add. ``` -------------------------------- ### MatchException Constructors Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/exception/MatchException.html This section details the available constructors for the MatchException class, allowing for the creation of exceptions with or without a specific message and/or a root cause. ```APIDOC ## MatchException Constructors ### `MatchException()` * Description: Creates a new MatchException with no detail message. ### `MatchException(String message)` * Description: Constructs a new MatchException with the specified detail message. * Parameters: * `message` (String) - The detail message. ### `MatchException(String message, Throwable t)` * Description: Constructs a new MatchException with the specified detail message and cause. * Parameters: * `message` (String) - The detail message. * `t` (Throwable) - The cause. ### `MatchException(Throwable t)` * Description: Constructs a new MatchException with the specified cause. * Parameters: * `t` (Throwable) - The cause. ``` -------------------------------- ### Token Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Token.html Constructs a new Token with a given value and element. ```APIDOC ## Token Constructor ### Description Constructs a new Token with a given value and element. ### Signature `Token(T value, Element element)` ``` -------------------------------- ### Element Class Usage in com.intuit.fuzzymatcher.component Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Element.html Shows methods in the com.intuit.fuzzymatcher.component package that utilize the Element class, either by returning Sets of Elements or by accepting Elements as parameters for matching. ```APIDOC ## Uses of Element in com.intuit.fuzzymatcher.component ### Methods returning Set - `TokenRepo.get(Token token)` ### Methods returning Set> - `ElementMatch.matchElement(Element element)` ### Methods with Element parameter - `ElementMatch.matchElement(Element element)` ``` -------------------------------- ### Element Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Element.html Constructs an Element with specified properties for fuzzy matching. ```APIDOC ## Element Constructor ### Description Initializes a new instance of the Element class with detailed configuration for matching. ### Constructor Signature `Element(ElementType type, String variance, T value, double weight, double threshold, double neighborhoodRange, Function preProcessFunction, Function, Stream> tokenizerFunction, MatchType matchType)` ### Parameters - **type** (ElementType) - The type of the element. - **variance** (String) - The variance associated with the element. - **value** (T) - The actual value of the element. - **weight** (double) - The weight of the element in scoring. - **threshold** (double) - The matching threshold. - **neighborhoodRange** (double) - The range for neighborhood matching. - **preProcessFunction** (Function) - The function for pre-processing the value. - **tokenizerFunction** (Function, Stream>) - The function for tokenizing the element's value. - **matchType** (MatchType) - The type of match to be used. ``` -------------------------------- ### TokenRepo Class Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Methods for interacting with the Token repository. ```APIDOC ## get(Token) ### Description Retrieves a token from the repository. ### Method ### Class TokenRepo ``` -------------------------------- ### TokenizerFunction Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/function/TokenizerFunction.html Provides static methods for creating different types of tokenizers. ```APIDOC ## valueTokenizer ### Description Returns a function that tokenizes elements based on their values. ### Method `public static Function> valueTokenizer()` ## wordTokenizer ### Description Returns a function that tokenizes string elements into words. ### Method `public static Function, Stream>> wordTokenizer()` ## wordSoundexEncodeTokenizer ### Description Returns a function that tokenizes string elements and encodes them using Soundex. ### Method `public static Function, Stream>> wordSoundexEncodeTokenizer()` ## triGramTokenizer ### Description Returns a function that tokenizes string elements into trigrams. ### Method `public static Function, Stream>> triGramTokenizer()` ## decaGramTokenizer ### Description Returns a function that tokenizes string elements into decagrams. ### Method `public static Function, Stream>> decaGramTokenizer()` ## getNGramTokens ### Description Generates n-gram tokens for a given element. ### Method `public static Stream> getNGramTokens(int size, Element element)` ### Parameters #### Path Parameters - **size** (int) - Required - The size of the n-grams. - **element** (Element) - Required - The element to tokenize. ## chainTokenizers ### Description Chains multiple tokenizer functions together. ### Method `public static Function, Stream>> chainTokenizers(Function, Stream>>... tokenizers)` ### Parameters #### Path Parameters - **tokenizers** (Function, Stream>>...) - Required - An array of tokenizer functions to chain. ``` -------------------------------- ### Element Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/ElementType.html Constructs an Element with a specified ElementType and other properties. ```APIDOC ## Element Constructor ### Parameters - **type** (ElementType) - The type of the element. ``` -------------------------------- ### applyMatch(List documents, List matchWith) Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/MatchService.html Checks for duplicates for bulk inserts by comparing a list of new documents against an existing list. Results are aggregated by the document. ```APIDOC ## applyMatch(List documents, List matchWith) ### Description Use this to check for duplicates during bulk inserts. A list of new `Document` objects is checked against an existing list. Data is aggregated by the document. ### Method Signature `Map>> applyMatch(List documents, List matchWith)` ``` -------------------------------- ### toString Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Token.html Returns a string representation of the token. ```APIDOC ## toString Method ### Description Returns a string representation of the token. ### Signature `String toString()` ### Overrides `toString` in class `Object` ``` -------------------------------- ### Document.Builder.createDocument Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Document.Builder.html Creates a Document object from the builder. ```APIDOC ## createDocument() ### Description Builds and returns a Document object based on the configuration set in the builder. ### Returns * **Document** - The created Document object. ``` -------------------------------- ### Utils Class Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Utility methods for string manipulation and n-gram generation. ```APIDOC ## getNGrams(String, int) ### Description Generates n-grams for a given string. ### Method static ### Class Utils ``` ```APIDOC ## getNormalizedString(String, Map) ### Description Utility method to apply dictionary for normalizing strings. ### Method static ### Class Utils ``` -------------------------------- ### Element.Builder Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Element.Builder.html These methods are used to configure the properties of an Element.Builder instance. ```APIDOC ## Element.Builder Methods ### Description Methods in `com.intuit.fuzzymatcher.domain` that return `Element.Builder`. ### Methods - `Element.Builder setMatchType(MatchType matchType)` - `Element.Builder setNeighborhoodRange(double neighborhoodRange)` - `Element.Builder setPreProcessingFunction(Function preProcessingFunction)` - `Element.Builder setThreshold(double threshold)` - `Element.Builder setTokenizerFunction(Function, Stream> tokenizerFunction)` - `Element.Builder setType(ElementType type)` - `Element.Builder setValue(T value)` - `Element.Builder setVariance(String variance)` - `Element.Builder setWeight(double weight)` ``` -------------------------------- ### equals Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Token.html Compares this token to another object for equality. ```APIDOC ## equals Method ### Description Compares this token to another object for equality. ### Signature `boolean equals(Object o)` ### Overrides `equals` in class `Object` ``` -------------------------------- ### Element Class Usage in com.intuit.fuzzymatcher.function Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Element.html Illustrates how the Element class is used in the com.intuit.fuzzymatcher.function package, particularly in relation to tokenizer functions and stream processing. ```APIDOC ## Uses of Element in com.intuit.fuzzymatcher.function ### Methods returning Function, Stream>> or Function> - `TokenizerFunction.chainTokenizers(Function, Stream>>... tokenizers)` - `TokenizerFunction.decaGramTokenizer()` - `TokenizerFunction.triGramTokenizer()` - `TokenizerFunction.valueTokenizer()` - `TokenizerFunction.wordSoundexEncodeTokenizer()` - `TokenizerFunction.wordTokenizer()` ### Methods with Element parameter - `TokenizerFunction.getNGramTokens(int size, Element element)` ``` -------------------------------- ### Element Class Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Matchable.html This section details methods in the Element class that interact with Matchable objects. ```APIDOC ## Element Class ### Methods #### `long` getChildCount(Matchable other) This gets the Max number of tokens present between matching Elements. #### `long` getUnmatchedChildCount(Matchable other) ### Description These methods are part of the `Element` class, which implements the `Matchable` interface. They are used to compare child elements or unmatched child elements with another `Matchable` object. ``` -------------------------------- ### MatchService.applyMatch Overloads Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Document.html These methods in MatchService are used for duplicate checking and de-duplication of documents. They can operate on a single document against a list, a list of documents for de-duplication, or a list of documents against another list for bulk inserts. ```APIDOC ## MatchService.applyMatch(Document document, List matchWith) ### Description Use this to check duplicate for a new record, where it checks whether a new Document is a duplicate in existing list. Data is aggregated by a given Document. ### Method `applyMatch` ### Parameters - `document` (Document) - The document to check for duplicates. - `matchWith` (List) - The list of existing documents to compare against. ### Returns `Map>>` - A map where keys are documents and values are lists of matches found for that document. ``` ```APIDOC ## MatchService.applyMatch(List documents) ### Description Use this for De-duplication of data, where for a given list of documents it finds duplicates. Data is aggregated by a given Document. ### Method `applyMatch` ### Parameters - `documents` (List) - The list of documents to de-duplicate. ### Returns `Map>>` - A map where keys are documents and values are lists of duplicates found within the input list. ``` ```APIDOC ## MatchService.applyMatch(List documents, List matchWith) ### Description Use this to check duplicates for bulk inserts, where a list of new Documents is checked against an existing list. Data is aggregated by a given Document. ### Method `applyMatch` ### Parameters - `documents` (List) - The list of new documents to check. - `matchWith` (List) - The list of existing documents to compare against. ### Returns `Map>>` - A map where keys are documents from the `documents` list and values are lists of matches found in the `matchWith` list. ``` -------------------------------- ### applyMatch(List documents, List matchWith) Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/MatchService.html Checks for duplicates in a list of new documents against an existing list, aggregating results by document. ```APIDOC ## applyMatch(List documents, List matchWith) ### Description Use this to check duplicates for bulk inserts, where a list of new Documents is checked against an existing list. Data is aggregated by a given Document. ### Method ```java public Map>> applyMatch(List documents, List matchWith) ``` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Parameters * `documents` - the list of documents to match from * `matchWith` - the list of documents to match against ### Response #### Success Response (200) * `Map>>` - a map containing the grouping of each document and its corresponding matches ### Request Example None provided ### Response Example None provided ``` -------------------------------- ### Document Class Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Matchable.html This section details methods in the Document class that interact with Matchable objects. ```APIDOC ## Document Class ### Methods #### `long` getChildCount(Matchable other) #### `long` getUnmatchedChildCount(Matchable other) ### Description These methods are part of the `Document` class, which implements the `Matchable` interface. They are used to compare child elements or unmatched child elements with another `Matchable` object. ``` -------------------------------- ### Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Match.html Methods for accessing and manipulating Match objects. ```APIDOC ## Methods ### getData() Returns the first matched object. ### getMatchedWith() Returns the second matched object. ### getResult() Returns the overall match score as a double. ### getScore() Returns the list of child scores contributing to the overall match score. ### setScore(List childScores) Sets the list of child scores for the match. ### getWeight() Returns the weight of the match. ### toString() Returns a string representation of the Match object. ### equals(Object o) Compares this Match object to another object for equality. ### hashCode() Returns the hash code value for this Match object. ``` -------------------------------- ### Document Class Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Document.html This section details the methods available for the Document class, including methods for retrieving its key, elements, threshold, and other matching-related information. ```APIDOC ## Document Class Methods ### getKey `public String getKey()` Retrieves the unique key of the document. ### getElements `public Set getElements()` Retrieves the set of Element objects associated with the document. ### getPreProcessedElement `public Set getPreProcessedElement()` Retrieves the set of pre-processed Element objects. ### getThreshold `public double getThreshold()` Retrieves the matching threshold for the document. ### getDistinctElements `public Stream getDistinctElements()` Retrieves a stream of distinct Element objects. ### getDistinctNonEmptyElements `public Stream getDistinctNonEmptyElements()` Retrieves a stream of distinct, non-empty Element objects. ### getChildCount `public long getChildCount(Matchable other)` Specified by: `getChildCount` in interface `Matchable` Calculates the number of child elements when compared to another `Matchable` object. ### getUnmatchedChildCount `public long getUnmatchedChildCount(Matchable other)` Specified by: `getUnmatchedChildCount` in interface `Matchable` Calculates the number of unmatched child elements when compared to another `Matchable` object. ### getScoringFunction `public BiFunction, Score> getScoringFunction()` Specified by: `getScoringFunction` in interface `Matchable` Retrieves the scoring function used for matching. ### getWeight `public double getWeight()` Specified by: `getWeight` in interface `Matchable` Retrieves the weight of the document. ### isSource `public Boolean isSource()` Checks if the document is a source document. ### setSource `public void setSource(Boolean source)` Sets the source flag for the document. ### toString `public String toString()` Overrides: `toString` in class `Object` Returns a string representation of the document. ### getOrderedElements `public List getOrderedElements(Set elements)` Retrieves an ordered list of elements. ### equals `public boolean equals(Object o)` Overrides: `equals` in class `Object` Compares this document to another object for equality. ### hashCode `public int hashCode()` Overrides: `hashCode` in class `Object` Returns the hash code value for this document. ``` -------------------------------- ### trim() Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/function/PreProcessFunction.html Returns a function that trims whitespace from the beginning and end of a string using Apache Commons StringUtils. ```APIDOC ## trim ### Description Uses Apache commons StringUtils trim method to remove leading and trailing whitespace from a string. ### Method `public static Function trim()` ### Returns A `Function` that performs the trim operation. ``` -------------------------------- ### Element Class Usage in com.intuit.fuzzymatcher.domain Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Element.html Details the usage of the Element class within the com.intuit.fuzzymatcher.domain package, covering methods that create, retrieve, process, and score Elements. ```APIDOC ## Uses of Element in com.intuit.fuzzymatcher.domain ### Methods returning Element - `Element.Builder.createElement()` - `Token.getElement()` ### Methods returning Stream - `Document.getDistinctElements()` - `Document.getDistinctNonEmptyElements()` ### Methods returning Set - `Document.getElements()` - `Document.getPreProcessedElement()` ### Methods returning List - `Document.getOrderedElements(Set elements)` ### Methods with Element parameter - `Element.getScore(Integer matchingCount, Element other)` ### Methods with Element type arguments - `Document.getOrderedElements(Set elements)` - `Element.getTokenizerFunction()` ### Methods returning Function, Stream> - `Element.getTokenizerFunction()` ### Constructors with Element parameter - `Token(T value, Element element)` ``` -------------------------------- ### Document.Builder Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Document.Builder.html Methods available on the Document.Builder class that allow for the construction of Document objects. ```APIDOC ## Document.Builder ### Description Provides methods to build a Document object. ### Methods #### `addElement(Element element)` Adds an element to the document being built. - **element** (Element) - The element to add. #### `setThreshold(double threshold)` Sets the similarity threshold for the document. - **threshold** (double) - The similarity threshold value. ``` -------------------------------- ### Dictionary Class Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/Dictionary.html The Dictionary class provides static dictionaries for name and address normalization. ```APIDOC ## Dictionary Class ### Description Used for Pre-Processing, the Dictionary caches a pre-defined normalization and replacement for common characters found in names and adresses. ### Fields - `static final Map addressDictionary`: Stores address-related normalization and replacement rules. - `static final Map nameDictionary`: Stores name-related normalization and replacement rules. ### Constructor - `Dictionary()`: Initializes the Dictionary component. ``` -------------------------------- ### PreProcessFunction.addressPreprocessing Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Applies both character removal and address normalization for preprocessing address data. ```APIDOC ## addressPreprocessing() ### Description Applies both "RemoveSpecialChars" and also "addressNormalization" functions. ### Method N/A (Static Java method) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) N/A #### Response Example N/A ``` -------------------------------- ### matchElement Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/ElementMatch.html Matches a given Element against a set of criteria to find similar elements. ```APIDOC ## matchElement(Element element) ### Description Performs a fuzzy match operation on the provided Element and returns a set of potential matches. ### Method Signature `Set> matchElement(Element element)` ### Parameters #### Path Parameters - **element** (Element) - Required - The element to perform the match operation on. ``` -------------------------------- ### PreProcessFunction.namePreprocessing Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Applies a sequence of preprocessing functions for names. ```APIDOC ## namePreprocessing() ### Description Performs a comprehensive preprocessing of names by applying a series of functions including 'removeTrailingNumber', 'removeSpecialChars', and 'nameNormalization'. ### Method Static method ``` -------------------------------- ### hashCode Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Token.html Returns a hash code value for the token. ```APIDOC ## hashCode Method ### Description Returns a hash code value for the token. ### Signature `int hashCode()` ### Overrides `hashCode` in class `Object` ``` -------------------------------- ### Element Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Element.html Provides access to various properties and functionalities of an Element. ```APIDOC ## Element Methods ### getElementClassification #### Description Retrieves the classification of the element. #### Signature `public ElementClassification getElementClassification()` ### getValue #### Description Gets the value of the element. #### Signature `public T getValue()` ### getWeight #### Description Gets the weight of the element. Specified by `getWeight` in interface `Matchable`. #### Signature `public double getWeight()` ### getThreshold #### Description Gets the threshold for matching. #### Signature `public double getThreshold()` ### getNeighborhoodRange #### Description Gets the neighborhood range for matching. #### Signature `public double getNeighborhoodRange()` ### getDocument #### Description Gets the document associated with the element. #### Signature `public Document getDocument()` ### setDocument #### Description Sets the document associated with the element. #### Signature `public void setDocument(Document document)` ### setPreProcessedValue #### Description Sets the pre-processed value of the element. #### Signature `public void setPreProcessedValue(T preProcessedValue)` ### getPreProcessFunction #### Description Gets the pre-processing function used for the element's value. #### Signature `public Function getPreProcessFunction()` ### getPreProcessedValue #### Description Gets the pre-processed value of the element. #### Signature `public T getPreProcessedValue()` ### getPreprocessedValueWithType #### Description Gets the pre-processed value along with its type. #### Signature `public AbstractMap.SimpleEntry getPreprocessedValueWithType()` ### getTokenizerFunction #### Description Gets the function used to tokenize the element's value. #### Signature `public Function, Stream> getTokenizerFunction()` ### getMatchType #### Description Gets the match type configured for the element. #### Signature `public MatchType getMatchType()` ### getTokens #### Description Gets the list of tokens generated from the element's value. #### Signature `public List getTokens()` ### getScore #### Description Calculates the score of the element against another element, considering a matching count. #### Signature `public double getScore(Integer matchingCount, Element other)` ### getChildCount #### Description Gets the maximum number of tokens present between matching Elements. For Elements that do not have a balanced set of tokens, it can push the score down. Specified by `getChildCount` in interface `Matchable`. #### Signature `public long getChildCount(Matchable other)` ### getUnmatchedChildCount #### Description Gets the count of unmatched child elements. Specified by `getUnmatchedChildCount` in interface `Matchable`. #### Signature `public long getUnmatchedChildCount(Matchable other)` ### getScoringFunction #### Description Gets the scoring function used for matching. Specified by `getScoringFunction` in interface `Matchable`. #### Signature `public BiFunction, Score> getScoringFunction()` ### toString #### Description Returns a string representation of the Element. Overrides `toString` in class `Object`. #### Signature `public String toString()` ### equals #### Description Indicates whether some other object is "equal to" this one. Overrides `equals` in class `Object`. #### Signature `public boolean equals(Object o)` ### hashCode #### Description Returns a hash code value for the object. Overrides `hashCode` in class `Object`. #### Signature `public int hashCode()` ``` -------------------------------- ### MatchService.applyMatch Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Match.html These methods in MatchService are used to apply matching logic to documents. They can be used to check for duplicate records, de-duplicate entire lists of documents, or check for duplicates in bulk inserts. ```APIDOC ## applyMatch ### Description Use this to check duplicate for a new record, where it checks whether a new Document is a duplicate in existing list. Data is aggregated by a given Document. ### Method Signature `Map>> applyMatch(Document document, List matchWith)` ## applyMatch ### Description Use this for De-duplication of data, where for a given list of documents it finds duplicates. Data is aggregated by a given Document. ### Method Signature `Map>> applyMatch(List documents)` ## applyMatch ### Description Use this to check duplicates for bulk inserts, where a list of new Documents is checked against existing list. Data is aggregated by a given Document. ### Method Signature `Map>> applyMatch(List documents, List matchWith)` ``` -------------------------------- ### getElement Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Token.html Retrieves the element associated with the token. ```APIDOC ## getElement Method ### Description Retrieves the element associated with the token. ### Signature `Element getElement()` ### Returns The element associated with the token. ``` -------------------------------- ### addressPreprocessing Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/function/PreProcessFunction.html Applies both 'RemoveSpecialChars' and 'addressNormalization' functions to preprocess address strings. This provides a more comprehensive cleaning of address data. ```APIDOC ## addressPreprocessing() ### Description Applies both "RemoveSpecialChars" and also "addressNormalization" functions. ### Method static Function ### Endpoint N/A (Static method) ``` -------------------------------- ### Document.Builder.addElement Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Document.Builder.html Adds an element to the document builder. ```APIDOC ## addElement(Element element) ### Description Adds an element to the document builder. Elements are the data points that will be compared for similarity. ### Parameters * **element** (Element) - The element to add to the document. ``` -------------------------------- ### applyMatch(Document document, List matchWith) Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/MatchService.html Checks if a single new document is a duplicate within an existing list, aggregating results by document. ```APIDOC ## applyMatch(Document document, List matchWith) ### Description Use this to check duplicate for a new record, where it checks whether a new Document is a duplicate in an existing list. Data is aggregated by a given Document. ### Method ```java public Map>> applyMatch(Document document, List matchWith) ``` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Parameters * `document` - the document to match * `matchWith` - the list of documents to match against ### Response #### Success Response (200) * `Map>>` - a map containing the grouping of each document and its corresponding matches ### Request Example None provided ### Response Example None provided ``` -------------------------------- ### MatchService.matchDocuments Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Executes the matching process for a stream of documents. ```APIDOC ## matchDocuments(Stream) ### Description Executes the fuzzy matching algorithm on a stream of documents to find potential matches. ### Method Instance method ### Parameters #### Path Parameters - **Stream** (Stream) - Required - A stream of Document objects to be matched. ``` -------------------------------- ### none() Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/function/PreProcessFunction.html Returns a function that performs no operation, useful for already preprocessed values. ```APIDOC ## none ### Description This function does nothing and is used for values that are already preprocessed. ### Method `public static Function none()` ### Returns A `PreProcessFunction` instance that performs no operation. ``` -------------------------------- ### PreProcessFunction.none Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html A preprocessing function that performs no operation. ```APIDOC ## none() ### Description This function serves as a placeholder or a no-operation function. It is useful when no preprocessing is required for a given value, indicating that the input is already in the desired format. ### Method Static method ``` -------------------------------- ### applyMatch(Document document, List matchWith) Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/MatchService.html Checks if a new document is a duplicate within an existing list of documents. Results are aggregated by the given document. ```APIDOC ## applyMatch(Document document, List matchWith) ### Description Use this to check for duplicates of a new record. It determines if a new `Document` is a duplicate within an existing list. Data is aggregated by the given `Document`. ### Method Signature `Map>> applyMatch(Document document, List matchWith)` ``` -------------------------------- ### namePreprocessing Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/function/PreProcessFunction.html Applies a sequence of functions ('removeTrailingNumber', 'removeSpecialChars', and 'nameNormalization') to preprocess names. This offers a robust cleaning for name matching. ```APIDOC ## namePreprocessing() ### Description Applies "removeTrailingNumber", "removeSpecialChars" and "nameNormalization" functions. ### Method static Function ### Endpoint N/A (Static method) ``` -------------------------------- ### matchDocuments Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/component/DocumentMatch.html Executes the matching process for a stream of Document objects. ```APIDOC ## matchDocuments ### Description Executes matching of a document stream. This method uses the ScoringFunction defined at each Document to get the aggregated Document score for matched Elements. ### Method Signature `Stream> matchDocuments(Stream documents)` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Parameters - `documents` (Stream) - Required - A stream of Document objects to be matched. ``` -------------------------------- ### Score Constructor Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Match.html Constructor for the Score class, which takes a result and a Match object. ```APIDOC ## Score ### Description Constructor for the Score class. ### Constructor Signature `Score(double result, Match match)` ``` -------------------------------- ### TokenRepo.put Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Adds a token to the repository. ```APIDOC ## put(Token) ### Description Adds a Token object to the Token repository. This is typically used to store and manage tokens for matching or analysis. ### Method Instance method ### Parameters #### Path Parameters - **Token** (Token) - Required - The token object to be added to the repository. ``` -------------------------------- ### Token Class Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Represents a token within the fuzzy matching process. ```APIDOC ## getElement() ### Description Retrieves the element to which this token belongs. ### Method ### Class Token ``` -------------------------------- ### getValue Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Token.html Retrieves the value of the token. ```APIDOC ## getValue Method ### Description Retrieves the value of the token. ### Signature `T getValue()` ### Returns The value of the token. ``` -------------------------------- ### getWeight Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Retrieves the weight of various objects like Document, Element, Match, or Matchable. ```APIDOC ## getWeight() ### Description Retrieves the weight of this Document. ### Method N/A (Method in class) ### Class com.intuit.fuzzymatcher.domain.Document ``` ```APIDOC ## getWeight() ### Description Retrieves the weight of this Element. ### Method N/A (Method in class) ### Class com.intuit.fuzzymatcher.domain.Element ``` ```APIDOC ## getWeight() ### Description Retrieves the weight of this Match. ### Method N/A (Method in class) ### Class com.intuit.fuzzymatcher.domain.Match ``` ```APIDOC ## getWeight() ### Description Retrieves the weight of this Matchable object. ### Method N/A (Method in interface) ### Interface com.intuit.fuzzymatcher.domain.Matchable ``` -------------------------------- ### hashCode Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/ElementClassification.html Returns a hash code value for the object. ```APIDOC ## hashCode Method ### Description Returns a hash code value for this object. ### Signature `public int hashCode()` ### Returns * **int** - A hash code value for this object. ``` -------------------------------- ### Match Class Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Represents a match between two documents or elements. ```APIDOC ## getData() ### Description Retrieves the data associated with the match. ### Method ### Class Match ``` ```APIDOC ## getMatchedWith() ### Description Retrieves the object that this match was made with. ### Method ### Class Match ``` ```APIDOC ## getResult() ### Description Retrieves the result of the match. ### Method ### Class Match ``` ```APIDOC ## getScore() ### Description Retrieves the score of the match. ### Method ### Class Match ``` -------------------------------- ### Static Methods for Scoring Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/function/ScoringFunction.html Provides static methods to obtain different implementations of ScoringFunction or to perform scoring-related calculations. ```APIDOC ## Static Methods ### `static ScoringFunction getAverageScore()` #### Description For all the childScores in a Match object it calculates the average. ### `static double getChildCount(Match match)` #### Description Gets the count of child elements within a Match. ### `static ScoringFunction getExponentialAverageScore()` #### Description Follows the same rules as "getAverageScore", and in addition if more than 1 children match above a score of 0.9, it exponentially increases the overall score by using a 1.5 exponent. ### `static double getExponentiallyIncreasedValue(double value)` #### Description Calculates an exponentially increased value. ### `static ScoringFunction getExponentialWeightedAverageScore()` #### Description This is the default scoring used to calculate the Document score by aggregating the child Element scores. Follows the same rules as "getAverageScore" and in addition applies weights to children. ### `static List getNonPerfectMatchedElement(List childScoreList)` #### Description Retrieves elements from the child score list that are not perfectly matched. ### `static List getPerfectMatchedElement(List childScoreList)` #### Description Retrieves elements from the child score list that are perfectly matched. ### `static ScoringFunction getSimpleAverageScore()` #### Description For all the childScores in a Match object it calculates the average. ### `static double getSumOfResult(List childScoreList)` #### Description Calculates the sum of results from a list of scores. ### `static double getSumOfWeightedResult(List childScoreList)` #### Description Calculates the sum of weighted results from a list of scores. ### `static double getSumOfWeights(List childScoreList)` #### Description Calculates the sum of weights from a list of scores. ### `static double getUnmatchedChildScore(Match match)` #### Description Gets the score for unmatched children within a Match. ### `static ScoringFunction getWeightedAverageScore()` #### Description Follows the same rules as "getAverageScore" and in addition applies weights to children. ``` -------------------------------- ### DocumentMatch.matchDocuments Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/class-use/Match.html This method executes the matching process for a stream of documents. ```APIDOC ## matchDocuments ### Description Executes matching of a document stream. ### Method Signature `Stream> matchDocuments(Stream documents)` ``` -------------------------------- ### values() Method Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/MatchType.html Retrieves all available MatchType constants as an array. ```APIDOC ## Method: values() ### Description Returns an array containing the constants of this enum class, in the order they are declared. ### Returns an array containing the constants of this enum class, in the order they are declared. ``` -------------------------------- ### TokenizerFunction Class Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Methods related to tokenization. ```APIDOC ## getNGramTokens(int, Element) ### Description Generates n-gram tokens for an element. ### Method static ### Class TokenizerFunction ``` -------------------------------- ### namePreprocessing() Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/function/PreProcessFunction.html Returns a function that applies 'removeTrailingNumber', 'removeSpecialChars', and 'nameNormalization' to a string. ```APIDOC ## namePreprocessing ### Description Applies 'removeTrailingNumber', 'removeSpecialChars', and 'nameNormalization' functions to preprocess name strings. ### Method `public static Function namePreprocessing()` ### Returns A `Function` that performs name preprocessing. ``` -------------------------------- ### getValue Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/index-all.html Retrieves the value of an Element or Token. ```APIDOC ## getValue() ### Description Retrieves the value of this Element. ### Method N/A (Method in class) ### Class com.intuit.fuzzymatcher.domain.Element ``` ```APIDOC ## getValue() ### Description Retrieves the value of this Token. ### Method N/A (Method in class) ### Class com.intuit.fuzzymatcher.domain.Token ``` -------------------------------- ### Element Methods Source: https://javadoc.io/doc/com.intuit.fuzzymatcher/fuzzy-matcher/1.2.2/com/intuit/fuzzymatcher/domain/Element.html Provides methods for accessing Element properties, calculating scores, and managing matching details. ```APIDOC ## Element Methods ### Description This section details the instance methods available for the Element class, including methods for retrieving properties, calculating scores, and managing associated document information. ### Methods - **equals(Object o)**: Compares this Element with another object for equality. - **getChildCount(Matchable other)**: Returns the maximum number of tokens present between matching Elements. - **getDocument()**: Retrieves the Document associated with this Element. - **getElementClassification()**: Gets the classification of the element. - **getMatchType()**: Retrieves the MatchType used by this Element. - **getNeighborhoodRange()**: Retrieves the neighborhood range configured for this Element. - **getPreProcessedValue()**: Retrieves the pre-processed value of the Element. - **getPreprocessedValueWithType()**: Retrieves the pre-processed value along with its type. - **getPreProcessFunction()**: Retrieves the pre-processing function for this Element. - **getScore(Integer matchingCount, Element other)**: Calculates the score based on matching counts and another Element. - **getScoringFunction()**: Retrieves the scoring function used for this Element. - **getThreshold()**: Retrieves the matching threshold for this Element. - **getTokenizerFunction()**: Retrieves the tokenizer function for this Element. - **getTokens()**: Retrieves the list of tokens generated from the Element's value. - **getUnmatchedChildCount(Matchable other)**: Returns the number of unmatched child tokens compared to another Matchable. - **getValue()**: Retrieves the original value of the Element. - **getWeight()**: Retrieves the weight assigned to this Element. - **hashCode()**: Returns the hash code for this Element. - **setDocument(Document document)**: Sets the Document associated with this Element. - **setPreProcessedValue(T preProcessedValue)**: Sets the pre-processed value for this Element. - **toString()**: Returns a string representation of the Element. ```