Interface MetadataHandler<M extends Metadata>

Type Parameters:
M - Kind of metadata
All Known Subinterfaces:
BuiltInMetadata.AllPredicates.Handler, BuiltInMetadata.Collation.Handler, BuiltInMetadata.ColumnOrigin.Handler, BuiltInMetadata.ColumnUniqueness.Handler, BuiltInMetadata.CumulativeCost.Handler, BuiltInMetadata.DistinctRowCount.Handler, BuiltInMetadata.Distribution.Handler, BuiltInMetadata.ExplainVisibility.Handler, BuiltInMetadata.ExpressionLineage.Handler, BuiltInMetadata.LowerBoundCost.Handler, BuiltInMetadata.MaxRowCount.Handler, BuiltInMetadata.Memory.Handler, BuiltInMetadata.MinRowCount.Handler, BuiltInMetadata.NodeTypes.Handler, BuiltInMetadata.NonCumulativeCost.Handler, BuiltInMetadata.Parallelism.Handler, BuiltInMetadata.PercentageOriginalRows.Handler, BuiltInMetadata.PopulationSize.Handler, BuiltInMetadata.Predicates.Handler, BuiltInMetadata.RowCount.Handler, BuiltInMetadata.Selectivity.Handler, BuiltInMetadata.Size.Handler, BuiltInMetadata.TableReferences.Handler, BuiltInMetadata.UniqueKeys.Handler
All Known Implementing Classes:
MockCatalogReader.MockModifiableViewRelOptTable, MockCatalogReader.MockRelViewTable, MockCatalogReader.MockTable, MockCatalogReader.MockViewTable, RelMdAllPredicates, RelMdCollation, RelMdColumnOrigins, RelMdColumnUniqueness, RelMdDistinctRowCount, RelMdDistribution, RelMdExplainVisibility, RelMdExpressionLineage, RelMdLowerBoundCost, RelMdMaxRowCount, RelMdMemory, RelMdMinRowCount, RelMdNodeTypes, RelMdParallelism, RelMdPopulationSize, RelMdPredicates, RelMdRowCount, RelMdSelectivity, RelMdSize, RelMdTableReferences, RelMdUniqueKeys

public interface MetadataHandler<M extends Metadata>
Marker interface for a handler of metadata.
  • Method Details

    • getDef

      MetadataDef<M> getDef()
    • handlerMethods

      static SortedMap<String,Method> handlerMethods(Class<? extends MetadataHandler<?>> handlerClass)
      Finds handler methods defined by a MetadataHandler, and returns a map keyed by method name.

      Ignores static and synthetic methods, and the getDef() method.

      Methods must have unique names.

      Parameters:
      handlerClass - the handler class to inspect
      Returns:
      handler methods