Class Schema.Delegating

java.lang.Object
com.illumon.iris.db.schema.Schema.AbstractSchema
com.illumon.iris.db.schema.Schema.Delegating
All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable, Schema, TableDefinitionSchema, Serializable
Direct Known Subclasses:
CopyTableSchema
Enclosing interface:
Schema

public abstract static class Schema.Delegating extends Schema.AbstractSchema
Delegate all method calls to an implementation object. This is designed to be overloaded.
See Also:
  • Constructor Details

    • Delegating

      protected Delegating(Schema delegate)
      Access is for extending classes.
      Parameters:
      delegate - delegate to this Schema
  • Method Details

    • getDelegate

      protected Schema getDelegate()
    • getNamespace

      @NotNull public @NotNull String getNamespace()
      Returns:
      The namespace of the table
    • getTableName

      @NotNull public @NotNull String getTableName()
      Returns:
      The name of the table
    • getDefaultMergeFormat

      @NotNull public Database.StorageFormat getDefaultMergeFormat()
      Returns:
      the preferred merge storage format
    • getMergeCodecName

      @Nullable public @Nullable String getMergeCodecName(@NotNull @NotNull String mergeFormat)
      Description copied from interface: TableDefinitionSchema
      For the specified merge format, return the defined codec name, if any.
      Parameters:
      mergeFormat - the merge format
      Returns:
      the codec name, if defined
    • getNamespaceSet

      @NotNull public @NotNull NamespaceSet getNamespaceSet()
      Returns:
      The NamespaceSet to which this schema belongs
    • getTableType

      @NotNull public @NotNull TableType getTableType(boolean intraday)
      Description copied from interface: TableDefinitionSchema
      Get the table type for this schema, depending on if it was an intraday table or not. Note that the intraday setting is ignored for User table types.
      Parameters:
      intraday - true if the returned type should reflect an intraday table
      Returns:
      The table type
    • getTableTypeV2

      @NotNull public @NotNull TableType getTableTypeV2(boolean intraday)
      Description copied from interface: TableDefinitionSchema
      Get the table type for this schema, depending on if it was an intraday table or not. The intraday setting is used even for User table types.
      Parameters:
      intraday - true if the returned type should reflect an intraday table
      Returns:
      The table type
    • getVersion

      @NotNull public @NotNull SchemaVersion getVersion()
      Returns:
      The version of this schema
    • getTableDefinition

      @NotNull public @NotNull TableDefinition getTableDefinition()
      Returns:
      The TableDefinition corresponding to this Schema
    • getTableDescription

      @NotNull public @NotNull String getTableDescription()
      Returns:
      The table description from the schema.
    • getColumnDescriptions

      @NotNull public @NotNull Map<String,String> getColumnDescriptions()
      Description copied from interface: TableDefinitionSchema
      Get an unmodifiable map of column names to column descriptions. The map may not contain any columns that don't have descriptions.
      Returns:
      A map of column names to column descriptions
    • getImportSources

      @NotNull public @NotNull List<ImportSource> getImportSources()
      Description copied from interface: Schema
      Get all defined ImportSources.
      Returns:
      all defined import sources, might be empty
    • getImportSources

      @NotNull public @NotNull List<ImportSource> getImportSources(@NotNull @NotNull String type)
      Description copied from interface: Schema
      Get all ImportSources of the given type.
      Parameters:
      type - the import source type
      Returns:
      all import sources of the given type, may be null.
    • getImportSource

      @Nullable public @Nullable ImportSource getImportSource(@NotNull @NotNull String type, @Nullable @Nullable String sourceName)
      Description copied from interface: Schema
      Get the ImportSource with the given type and name. The first matching ImportSource is returned, where it is possible to have more than one. If sourceName is null, the first import source of the specified type will be returned.
      Parameters:
      type - the import source type
      sourceName - the import source name, may be null
      Returns:
      the identified import source, or null if not found
    • getAttributes

      @NotNull public @NotNull Map<String,String> getAttributes()
      Description copied from interface: Schema
      Get all top level attributes for this schema.
      Returns:
      a map containing all attributes set for this schema. Might be empty.
    • getAttributeValue

      @Nullable public @Nullable String getAttributeValue(@NotNull @NotNull String attributeName)
      Description copied from interface: Schema
      Get the value for the named attribute.
      Parameters:
      attributeName - the attribute to fetch
      Returns:
      the value for the attribute, or null if it is not set
    • getPartitionKeyFormula

      @Nullable public @Nullable String getPartitionKeyFormula()
      Description copied from interface: Schema
      Get the partitioning key formula for this schema.
      Returns:
      the partitioning key formula if set, else null
    • hasLoggers

      public boolean hasLoggers()
      Description copied from interface: Schema
      Returns true if this schema has any Loggers or LoggerListeners.
      Returns:
      true if this schema has any Loggers or LoggerListeners
    • hasListeners

      public boolean hasListeners()
      Description copied from interface: Schema
      Returns true if this schema has any Listeners or LoggerListeners.
      Returns:
      true if this schema has any Listeners or LoggerListeners
    • getLoggers

      @NotNull public @NotNull List<Logger> getLoggers()
      Description copied from interface: Schema
      Get an immutable list of the Loggers for this schema. This includes LoggerListeners.
      Returns:
      an immutable list of Loggers
    • getLogFormats

      @NotNull public @NotNull Map<Integer,LogFormat> getLogFormats()
      Description copied from interface: Schema
      Get an immutable list of the log formats for this schema.
      Returns:
      an immutable list of log formats
    • getListeners

      @NotNull public @NotNull List<Listener> getListeners()
      Description copied from interface: Schema
      Get an immutable list of the Listeners for this schema. This includes LoggerListeners.
      Returns:
      an immutable list of Listeners
    • getValidator

      @Nullable public @Nullable Validator getValidator()
      Description copied from interface: Schema
      Get an immutable Validator for this schema.
      Returns:
      a Validators if configured, or null
    • getDataIndexSets

      @NotNull public @NotNull List<String[]> getDataIndexSets()
      Description copied from interface: Schema
      Get the set of Data Indexes for this table. Each element in the list is a set of columns which produce a key for which the table has been indexed by.
      Returns:
      a list of Data Index sets
    • getStorageType

      public int getStorageType()
      Description copied from interface: TableDefinitionSchema
      Get the StorageType as an integer enum value.
      Returns:
      the storage type
    • getExtendedStorage

      @Nullable public @Nullable ExtendedStorage getExtendedStorage()
      Description copied from interface: Schema
      Return the extended storage for this schema
      Returns:
      an ExtendedStorage if present, or null
    • getInputTableStateSpec

      @Nullable public @Nullable InputTableStateSpec getInputTableStateSpec()
      Description copied from interface: Schema
      Return the input table specification from this schema.
      Returns:
      The input table specification if present, or null.