# Package com.tibco.patterns.learn.api.feature

Manages feature query, features and querylets that are stored in Patterns Learn model.xml file. This package is always used when features are represented by ibi Patterns querylets, i.e. it is also used from the recpair package.

A FeatureQuery object contains a number of features that are subclasses of Feature class. A feature can have one or more querylets that are implementations of Querylet interface. The supported querylet types are represented by classes SimpleQlt, CognateQlt, DateQlt and PredicateQlt (there is only a limited support for predicate querylets).

Generic features always have only one querylet and are supported by GenericFeature class. Data-specific features typically have more than one querylet. Two such features are implemented by classes PersonNameFeature and GenderFeature.

To store individual querylets, the package uses the same XML schema that is used in ibi Patterns Web Services (PatternsSchema.xsd).

- Interface Summary
  Interface | Description
  --- | ---
  FeatureListener | Classes implementing this interface receive notifications when feature query changes.
  Querylet | Defines shared functionality for a single Learn querylet.

- Class Summary
  Class | Description
  --- | ---
  AbstractQlt<T extends com.tibco.patterns.learn.jaxb.model.SearchQueryBaseType> | Stores a single querylet in an XML structure.
  CognateQlt | A Cognate querylet for matching several related text fields where values may be entered into a wrong field.
  DateQlt | A Date querylet for comparing the similarity of date values.
  Feature<T extends com.tibco.patterns.learn.jaxb.model.FeatureType> | A user-defined feature composed of one or more querylets.
  FeatureQuery | Supports a feature query that can contain all types of features.
  GenderFeature | A feature with 2 predicate querylets that mean: both records are male; both records are female.
  GenericFeature | A generic feature that has a single querylet of any type.
  PersonNameFeature | A feature with 3 querylets: Simple: first name, with thesaurus; Simple: last name; Cognate: first, middle (optional) and last name fields, with thesaurus, non-cognate weight 0.8, empty field penalty 0.1.
  PredicateQlt | A Predicate querylet for evaluating a predicate expression.
  SimpleQlt | A Simple querylet for matching one field or concatenated string values of several fields.
  TextQlt<T extends com.tibco.patterns.learn.jaxb.model.SearchQueryBaseType> | Provides common functionality for querylets that use approximate text matching (Simple and Cognate querylets).
  Thesaurus | Represents thesaurus file that can be used in multiple querylets.

- Enum Summary
  Enum | Description
  --- | ---
  Thesaurus.Type | The type of a thesaurus file.