Interface ClassDetailsRegistry

All Known Implementing Classes:
AbstractClassDetailsRegistry, ClassDetailsRegistryImmutable, ClassDetailsRegistryStandard

public interface ClassDetailsRegistry
Registry of all ClassDetails references
Implementation Specification:
Quite a few methods here are marked to ignore the fact that they are unused. The expectation is that most of these methods are used by consumers (Hibernate ORM, e.g.). DO NOT REMOVE THEM!!!
  • Method Details

    • findClassDetails

      ClassDetails findClassDetails(String name)
      Find the managed-class with the given name, if there is one. Returns null if there are none registered with that name.
    • getClassDetails

      default ClassDetails getClassDetails(String name)
      Form of findClassDetails(java.lang.String) throwing an exception if no registration is found
      Throws:
      UnknownClassException - If no registration is found with the given name
    • forEachClassDetails

      void forEachClassDetails(ClassDetailsRegistry.ClassDetailsConsumer consumer)
      Visit each registered class details
    • getDirectSubTypes

      List<ClassDetails> getDirectSubTypes(String superTypeName)
      Get the list of all direct subtypes for the named managed-class. Returns null if there are none
    • forEachDirectSubType

      void forEachDirectSubType(String superTypeName, ClassDetailsRegistry.ClassDetailsConsumer consumer)
      Visit each direct subtype of the named managed-class
    • addClassDetails

      void addClassDetails(ClassDetails classDetails)
      Adds a managed-class descriptor using its name as the registration key.
    • addClassDetails

      void addClassDetails(String name, ClassDetails classDetails)
      Adds a managed-class descriptor using the given name as the registration key
    • resolveClassDetails

      ClassDetails resolveClassDetails(String name)
      Resolves a managed-class by name. If there is currently no such registration, one is created.
    • resolveClassDetails

      ClassDetails resolveClassDetails(String name, ClassDetailsBuilder creator)
      Resolves a managed-class by name. If there is currently no such registration, one is created using the specified creator.
    • resolveClassDetails

      ClassDetails resolveClassDetails(String name, ClassDetailsRegistry.ClassDetailsCreator creator)
      Resolve (find or create) ClassDetails by name. If there is currently no such registration, one is created using the specified creator.
    • makeImmutableCopy

      ClassDetailsRegistry makeImmutableCopy()
      Makes a copy of this registry whose internal state is immutable