Interface CatalogObject.Addressed<T extends CatalogObject.Addressed<T>>

Type Parameters:
T - Specific subtype of Addressed that represents catalog objects with the given class id.
All Superinterfaces:
CatalogObject
All Known Subinterfaces:
Attribute, Database, Extension, ProceduralLanguage, RegClass, RegClass.Known<T>, RegCollation, RegConfig, RegDictionary, RegNamespace, RegOperator, RegProcedure<M>, RegRole, RegRole.Grantee, RegType, RegType.Unresolved
Enclosing interface:
CatalogObject

public static interface CatalogObject.Addressed<T extends CatalogObject.Addressed<T>> extends CatalogObject
A catalog object that has both oid and classId specified, and can be looked up in the PostgreSQL catalogs (where it may, or may not, be found).
  • Method Details

    • classId

      RegClass.Known<T> classId()
      Returns the classId (which is an instance of RegClass.Known of this addressed catalog object.
    • exists

      boolean exists()
      Whether a catalog object with this address in fact exists in the PostgreSQL catalogs.

      Unlike isValid(), which depends only on the value of oid(), this reflects the result of a catalog lookup.

    • shared

      default boolean shared()
      Whether this catalog object is shared across all databases in the cluster.

      Contrast isShared(), a method found only on RegClass, which indicates whether that RegClass instance represents a shared relation. Catalog objects formed with that RegClass instance as their classId will have shared() == true, though the RegClass instance itself will have shared() == false (because it models a row in pg_class itself, a catalog that isn't shared).

      Returns:
      classId().isShared()