Interface MetadataSourceProcessor

All Known Implementing Classes:
AnnotationMetadataSourceProcessorImpl, HbmMetadataSourceProcessorImpl, MappingDocument

public interface MetadataSourceProcessor
Defines the steps in processing metadata sources. The steps are performed in a prerequisite series across all sources. For example, the basic requirement is custom types, so processTypeDefinitions() is performed first across all sources to build a complete set of types. Then the next steps can be performed.
  • Method Details

    • prepare

      void prepare()
      A general preparation step. Called first.
    • processTypeDefinitions

      void processTypeDefinitions()
      Process all custom Type definitions. This step has no prerequisites.
    • processQueryRenames

      void processQueryRenames()
      Process all explicit query renames (imports). This step has no prerequisites.
    • processNamedQueries

      void processNamedQueries()
      Process all "root" named queries. These are named queries not defined on a specific entity (which will be handled later during processEntityHierarchies(java.util.Set<java.lang.String>)).

      This step has no prerequisites. The returns associated with named native queries can depend on entity binding being complete, but those are handled later during processResultSetMappings().

    • processAuxiliaryDatabaseObjectDefinitions

      void processAuxiliaryDatabaseObjectDefinitions()
      Process all AuxiliaryDatabaseObject definitions.

      This step has no prerequisites.

    • processIdentifierGenerators

      void processIdentifierGenerators()
      Process all custom identifier generator declarations,

      Depends on processTypeDefinitions()

    • processFilterDefinitions

      void processFilterDefinitions()
      Process all filter definitions.

      This step depends on processTypeDefinitions()

    • processFetchProfiles

      void processFetchProfiles()
      Process all fetch profiles.

      todo : does this step depend on any others??

    • prepareForEntityHierarchyProcessing

      void prepareForEntityHierarchyProcessing()
    • processEntityHierarchies

      void processEntityHierarchies(Set<String> processedEntityNames)
    • postProcessEntityHierarchies

      void postProcessEntityHierarchies()
    • processResultSetMappings

      void processResultSetMappings()
      Process ResultSet mappings for native queries. At the moment, this step has processEntityHierarchies(java.util.Set<java.lang.String>) as a prerequisite because the parsing of the returns access the entity bindings.
    • finishUp

      void finishUp()
      General finish up step. Called last.