Class QTableBackendDetails

java.lang.Object
com.kingsrook.qqq.backend.core.model.metadata.tables.QTableBackendDetails
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
AbstractFilesystemTableBackendDetails, APITableBackendDetails, EnumerationTableBackendDetails, MongoDBTableBackendDetails, RDBMSTableBackendDetails

public abstract class QTableBackendDetails extends Object implements Cloneable, Serializable
Base class where backends can specify additional per-table meta-data.
See Also:
  • Constructor Details

    • QTableBackendDetails

      public QTableBackendDetails()
  • Method Details

    • getBackendType

      public String getBackendType()
      Getter for backendType
    • setBackendType

      public void setBackendType(String backendType)
      Setter for backendType
    • setBackendType

      public void setBackendType(Class<? extends QBackendModuleInterface> backendModuleClass)
      Setter for backendType
    • withBackendType

      public QTableBackendDetails withBackendType(String backendType)
      Fluent Setter for backendType
    • withBackendType

      public QTableBackendDetails withBackendType(Class<? extends QBackendModuleInterface> backendModuleClass)
      Fluent Setter for backendType
    • validate

      public void validate(QInstance qInstance, QTableMetaData table, QInstanceValidator qInstanceValidator)
    • clone

      public final QTableBackendDetails clone()
      adding cloneable to this type hierarchy - subclasses need to implement finishClone to copy ther specific state.
      Overrides:
      clone in class Object
    • finishClone

      protected abstract QTableBackendDetails finishClone(QTableBackendDetails cloned)
      finish the cloning operation started in the base class. copy all state from the subclass into the input clone (which can be safely casted to the subclass's type, as it was obtained by super.clone())