Interface FromClauseAccess

All Known Subinterfaces:
SqmTranslator<T>
All Known Implementing Classes:
BaseSqmToSqlAstConverter, FromClauseAccessImpl, FromClauseIndex, MultiTableSqmMutationConverter, SimpleFromClauseAccessImpl, StandardSqmTranslator, SybaseSqmToSqlAstConverter

public interface FromClauseAccess
Access to TableGroup indexing. The indexing is defined in terms of NavigablePath
  • Method Details

    • findTableGroupOnCurrentFromClause

      TableGroup findTableGroupOnCurrentFromClause(NavigablePath navigablePath)
      Find a TableGroup in this from clause without consulting parents by the NavigablePath it is registered under. Returns null if no TableGroup is registered under that NavigablePath
    • findTableGroup

      TableGroup findTableGroup(NavigablePath navigablePath)
      Find a TableGroup by the NavigablePath it is registered under, and if not found on the current from clause level, ask the parent. Returns null if no TableGroup is registered under that NavigablePath
    • findTableGroupForGetOrCreate

      default TableGroup findTableGroupForGetOrCreate(NavigablePath navigablePath)
      Find the TableGroup by the NavigablePath for the purpose of creating a new TableGroup if none can be found. Returns null if no TableGroup or parent table group is registered under that NavigablePath
    • getTableGroup

      default TableGroup getTableGroup(NavigablePath navigablePath) throws SqlTreeCreationException
      Get a TableGroup by the NavigablePath it is registered under. If there is no registration, an exception is thrown.
      Throws:
      SqlTreeCreationException
    • registerTableGroup

      void registerTableGroup(NavigablePath navigablePath, TableGroup tableGroup)
      Register a TableGroup under the given `navigablePath`. Logs a message if this registration over-writes an existing one.
    • resolveTableGroup

      default TableGroup resolveTableGroup(NavigablePath navigablePath, Function<NavigablePath,TableGroup> creator)
      Finds the TableGroup associated with the given `navigablePath`. If one is not found, it is created via the given `creator`, registered under `navigablePath` and returned.
      See Also:
      API Note:
      If the `creator` is called, there is no need for it to register the TableGroup it creates. It will be registered by this method after.
    • findTableGroupByIdentificationVariable

      @Nullable TableGroup findTableGroupByIdentificationVariable(String identificationVariable)