# Package com.hammurapi.extract

- Interface Summary
  Interface | Description
  --- | ---
  BinaryExtractor<T,V,C> | Extractors which computes value using two extractors - left extractor and right extractor.
  CommutativeCompositePredicate<T,C,S extends CommutativeCompositePredicate<T,C,S>> | Order of parts can be changed in a commutative composite predicate can be
  CompositePredicate<T,PC extends Collection<Predicate<T,C>>,C,S extends CompositePredicate<T,PC,C,S>> | Predicate which is a composition of other predicates, e.g.
  Extractor<T,V,C> | Extractors extract values from objects.
  ExtractorFactory | Extractor factory service.
  FacadeExtractor<T,V,C> | Marker interface for extractors which facade other extractors, e.g.
  Mappable<T,V,C> | Extractors which can change their internal mapping shall implement this interface.
  Predicate<T,C> | Predicates are extractors which extract boolean values.

- Class Summary
  Class | Description
  --- | ---
  AbstractExtractor<T,V,C> | Base class for extractors.
  AbstractPredicate<T,C> |
  Add<T,C> | Numeric add.
  And<T,C> | Non-commutative AND.
  CommutativeAnd<T,C> | Commutative AND.
  CommutativeOr<T,C> | Commutative OR.
  ComparisonPredicate<T,V,C> |
  ComparisonResult | Result of comparison of two extractors/predicates.
  CompiledExtractorBase<T,V,C> | Base class for compiled java extractors/predicates.
  CompositeExtractorBase<T,V,C> | Base class for composite extractors like +, *, / operations.
  Constant<T,V,C> | Constants don't extract any data from sources, but may extract data from context.
  Divide<T,C> |
  Equal<T,V,C> |
  ExtractorBase<T,V,C> | Base class for extractors, implements value caching.
  ExtractorComparator<T,V extends Comparable<V>,C> | Comparator which uses extraction.
  ExtractorUtil | Utility class.
  False<T,C> | Predicate which always evaluates to true.
  GreaterEqual<T,V extends Comparable<V>,C> |
  GreaterThan<T,V extends Comparable<V>,C> |
  IndexedExtractor<T,C> | Extracts value at index.
  InstanceOfPredicate<T,C> | This predicate evaluates to true if argument is of a particular type.
  LessEqual<T,V extends Comparable<V>,C> |
  LessThan<T,V extends Comparable<V>,C> |
  MappedExtractor<T,V,C> | Extractor which maps arguments to the target extractor.
  MappedPredicate<T,C> | Extractor which maps arguments to the target extractor.
  MethodExtractor<T,V,C> |
  Multiply<T,C> |
  Not<T,C> |
  NotEqual<T,V,C> |
  Or<T,C> | Non-commutative OR.
  Subtract<T,C> |
  TimeIntervalPredicate<T,C> | This predicate evaluates to true for `timeInterval` after construction.
  True<T,C> | Predicate which always evaluates to true.

- Enum Summary
  Enum | Description
  --- | ---
  ComparisonPredicate.PromotionLevel |
  ComparisonResult.Type | Result of extractor comparison.

- Exception Summary
  Exception | Description
  --- | ---
  ExtractorException |