Interface SchemaFeature

All Known Implementing Classes:
DBTranslatorRecord.AddTextTypeSchemaFeature, DDLSchemaFeature, EncodedStringField.ConvertStringToEncodedSchemaFeature

public interface SchemaFeature
SchemaFeature is used to ensure that the internal database has particular attributes ("features"). Modules should register schema features on startup through the SchemaUpdater- if a particular feature does not exist (no such FeatureKey present), the apply(DBInterface) function will be called, allowing the implementor to take whatever action it wants.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    If the given schema feature is not present in the database, this will be called
    If a schema feature is only pertinent to a particular internal db flavor, it can return it here.
    A module-specific key for the named feature
  • Method Details

    • getFeatureKey

      String getFeatureKey()
      A module-specific key for the named feature
    • apply

      void apply(DBInterface db) throws SQLException
      If the given schema feature is not present in the database, this will be called
      Throws:
      SQLException
    • dbFlavor

      default InternalDBFlavor dbFlavor()
      If a schema feature is only pertinent to a particular internal db flavor, it can return it here. Otherwise, "Not_Defined" is retuned by default and will apply to all internal databases.