Record Class KeyWrapper

java.lang.Object
java.lang.Record
no.sikt.graphitron.generators.codebuilding.KeyWrapper

public record KeyWrapper(org.jooq.Key<?> key, no.sikt.graphitron.javapoet.TypeName tableRecordTypeName) extends Record
  • Constructor Details

    • KeyWrapper

      public KeyWrapper(org.jooq.Key<?> key, no.sikt.graphitron.javapoet.TypeName tableRecordTypeName)
      Creates an instance of a KeyWrapper record class.
      Parameters:
      key - the value for the key record component
      tableRecordTypeName - the value for the tableRecordTypeName record component
  • Method Details

    • getDTOVariableName

      public String getDTOVariableName()
    • getDTOGetterName

      public String getDTOGetterName()
    • getTypeName

      public no.sikt.graphitron.javapoet.TypeName getTypeName()
      Returns the TableRecord TypeName for this key.
    • getTypeName

      public no.sikt.graphitron.javapoet.TypeName getTypeName(boolean asList)
      Returns the TableRecord TypeName for this key, optionally wrapped in a List.
    • getKeyMapForResolverFields

      public static LinkedHashMap<String,KeyWrapper> getKeyMapForResolverFields(List<? extends GenerationField> fields, ProcessedSchema schema)
      Maps resolver field names to their resolved keys (foreign key or primary key).
      Parameters:
      fields - The fields to find keys for. This list may contain fields which are not resolvers.
      schema - The processed schema.
      Returns:
      Map of field names to their resolved keys.
    • getKeySetForResolverFields

      public static LinkedHashSet<KeyWrapper> getKeySetForResolverFields(List<? extends GenerationField> fields, ProcessedSchema schema)
      Get the set of keys used in the resolver fields given a list of fields. The key could either be a foreign key or the primary key of the current table.
      Parameters:
      fields - The fields to find keys for
      schema - The processed schema
      Returns:
      The map of field names and keys
    • getKeyForResolverFieldOrThrow

      public static KeyWrapper getKeyForResolverFieldOrThrow(GenerationField field, ProcessedSchema processedSchema)
      Finds the key used in the first step when resolving a resolver field, throwing if not found.
      Parameters:
      field - The resolver field.
      processedSchema - The processed schema.
      Returns:
      Wrapper for the key used in the first resolution step.
    • getKeyTableRecordTypeName

      public static no.sikt.graphitron.javapoet.TypeName getKeyTableRecordTypeName(GenerationField field, ProcessedSchema schema)
      Returns the TableRecord TypeName for the key used in the first resolution step of a resolver field.
      Parameters:
      field - The resolver field.
      Returns:
      TableRecord TypeName of the resolved key.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • key

      public org.jooq.Key<?> key()
      Returns the value of the key record component.
      Returns:
      the value of the key record component
    • tableRecordTypeName

      public no.sikt.graphitron.javapoet.TypeName tableRecordTypeName()
      Returns the value of the tableRecordTypeName record component.
      Returns:
      the value of the tableRecordTypeName record component