Class QInstanceEnricher

java.lang.Object
com.kingsrook.qqq.backend.core.instances.QInstanceEnricher

public class QInstanceEnricher extends Object
As part of helping a QInstance be created and/or validated, apply some default transformations to it, such as populating missing labels based on names.
  • Constructor Details

    • QInstanceEnricher

      public QInstanceEnricher(QInstance qInstance)
  • Method Details

    • enrich

      public void enrich()
    • enrichField

      public void enrichField(QFieldMetaData field)
    • fieldNameToLabel

      public void fieldNameToLabel(QFieldMetaData field)
    • nameToLabel

      public static String nameToLabel(String name)
    • defineTableBulkInsert

      public void defineTableBulkInsert(QInstance qInstance, QTableMetaData table, String processName)
    • setInferredFieldBackendNames

      public static void setInferredFieldBackendNames(QTableMetaData tableMetaData)
      for all fields in a table, set their backendName, using the default "inference" logic see inferBackendName(String)
    • inferBackendName

      public static String inferBackendName(String fieldName)
      Do a default mapping from a camelCase field name to an underscore_style name for a backend. Examples:
      • wordAnotherWordMoreWords -> word_another_word_more_words
      • lUlUlUl -> l_ul_ul_ul
      • StartsUpper -> starts_upper
      • TLAFirst -> tla_first
      • wordThenTLAInMiddle -> word_then_tla_in_middle
      • endWithTLA -> end_with_tla
      • TLAAndAnotherTLA -> tla_and_another_tla
    • inferNameFromBackendName

      public static String inferNameFromBackendName(String backendName)
      Do a default mapping from an underscore_style field name to a camelCase name. Examples:
      • word_another_word_more_words -> wordAnotherWordMoreWords
      • l_ul_ul_ul -> lUlUlUl
      • tla_first -> tlaFirst
      • word_then_tla_in_middle -> wordThenTlaInMiddle
      • end_with_tla -> endWithTla
      • tla_and_another_tla -> tlaAndAnotherTla
      • ALL_CAPS -> allCaps
    • addEnricherPlugin

      public static void addEnricherPlugin(QInstanceEnricherPluginInterface<?> plugin)
    • removeAllEnricherPlugins

      public static void removeAllEnricherPlugins()
    • discoverAndAddPluginsInPackage

      public static void discoverAndAddPluginsInPackage(String packageName) throws QException
      scan the classpath for classes in the specified package name which implement the QInstanceEnricherPluginInterface - any found get added
      Throws:
      QException
    • getJoinGraph

      public JoinGraph getJoinGraph()
    • addLabelMapping

      public static void addLabelMapping(String from, String to)
    • removeLabelMapping

      public static void removeLabelMapping(String from)
    • clearLabelMappings

      public static void clearLabelMappings()
    • getConfigRemoveIdFromNameWhenCreatingPossibleValueFieldLabels

      public boolean getConfigRemoveIdFromNameWhenCreatingPossibleValueFieldLabels()
      Getter for configRemoveIdFromNameWhenCreatingPossibleValueFieldLabels
    • setConfigRemoveIdFromNameWhenCreatingPossibleValueFieldLabels

      public void setConfigRemoveIdFromNameWhenCreatingPossibleValueFieldLabels(boolean configRemoveIdFromNameWhenCreatingPossibleValueFieldLabels)
      Setter for configRemoveIdFromNameWhenCreatingPossibleValueFieldLabels
    • withConfigRemoveIdFromNameWhenCreatingPossibleValueFieldLabels

      public QInstanceEnricher withConfigRemoveIdFromNameWhenCreatingPossibleValueFieldLabels(boolean configRemoveIdFromNameWhenCreatingPossibleValueFieldLabels)
      Fluent setter for configRemoveIdFromNameWhenCreatingPossibleValueFieldLabels
    • getConfigAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate

      public boolean getConfigAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate()
      Getter for configAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate
    • setConfigAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate

      public void setConfigAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate(boolean configAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate)
      Setter for configAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate
    • withConfigAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate

      public QInstanceEnricher withConfigAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate(boolean configAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate)
      Fluent setter for configAddDynamicDefaultValuesToFieldsNamedCreateDateAndModifyDate