java.lang.Object
de.bsvrz.pat.sysbed.dataview.selectionManagement.CellKey

public class CellKey
extends java.lang.Object
Ein CellKey ist eine Objektreferenz für ein Feld in den eigentlichen Daten des DataViewFrames. Da der DataViewFrame bzw. das DataViewPanel nur die aktuell zu visualisierenden Swing-Komponenten bereithält, benötigt man eine solche Objektreferenz, um sich etwa Dinge wie die Selektion merken zu können.
Ein CellKey ist kein schlankes Objekt.
Ein CellKey wird in der Regel mit einem String der Form "<Pid oder Id eines Systemobjekts>:<Datensatzindex>:<Attributbeschreibung>" konstruiert. Die Attributbeschreibung ist genauer im Konstruktor beschrieben. Hier sei nur angemerkt, dass sie Informationen zur Attributgruppe, aber nicht zum Aspekt enthält.
  • Constructor Summary

    Constructors
    Constructor Description
    CellKey​(java.lang.String cellKey, boolean superColumn)
    Konstruktor zum Anlegen eines CellKeys.
  • Method Summary

    Modifier and Type Method Description
    boolean attributeNameIsLessOrEqual​(FilterAttributeGroup filterAttributeGroup, CellKey key)
    Gestattet einen Vergleich des CellKeys this mit dem übergebenen CellKey.
    void dumpMe()
    Gibt den CellKey auf System.out aus.
    boolean equals​(java.lang.Object object)  
    java.lang.String getAttributeName()
    Gibt den Attributname des CellKeys inklusive Attributgruppe zurück.
    java.lang.Integer[] getAttributeNamePartArrayValues()
    Gibt die Array-Informationen des CellKeys zurück.
    java.lang.String getAttributePartsWithArrays()
    Gibt den Attributname ohne Attributgruppe, aber mit den Array-Informationen des CellKeys zurück.
    java.lang.String getCellKeyAsString()
    Gibt den String aus dem der CellKey konstruiert wurde zurück.
    java.lang.String getCellText()
    Gibt den Text, der in der Zelle angezeigt werden soll, zurück.
    long getDataIndex()
    Gibt den Datensatzindex des CellKeys zurück.
    static java.lang.String getFIRST_SEPARATOR()
    Gibt das erste Trennzeichen in der String-Darstellung des CellKeys zurück.
    java.lang.String getPidOfTheDataTableObject()
    Gibt die Pid des Datensatzes des CellKeys zurück.
    static java.lang.String getSECOND_SEPARATOR()
    Gibt das zweite Trennzeichen in der String-Darstellung des CellKeys zurück.
    int hashCode()  
    boolean isBetweenColumns​(FilterAttributeGroup filterAttributeGroup, CellKeyColumn lowerColumn, CellKeyColumn upperColumn)
    Gibt genau dann true zurück, wenn der CellKey this sich zwischen den Spaltenschranken befindet.
    boolean isSuperColumn()
    Gibt an, ob der CellKey eine Super-Spalte beschreibt oder eine normale Spalte.
    static CellKeyColumn maxColumn​(FilterAttributeGroup filterAttributeGroup, CellKey key1, CellKey key2)
    Gibt die größere, d.h. weiter rechts stehende CellKeyColumn der beiden CellKeys zurück.
    static CellKeyColumn minColumn​(FilterAttributeGroup filterAttributeGroup, CellKey key1, CellKey key2)
    Gibt die kleinere, d.h. weiter links stehende CellKeyColumn der beiden CellKeys zurück.
    static java.lang.String removeArrays​(java.lang.String s)
    Entfernt alle Arrays aus dem übergebenen String und gibt das Ergebnis zurück.
    static java.lang.String removeIndices​(java.lang.String s)
    Entfernt alle Indizes aus den Arrays des übergebenen Strings und gibt das Ergebnis zurück.
    void setCellText​(java.lang.String cellText)
    Setzt den Text, der in der Zelle angezeigt werden soll.
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • CellKey

      public CellKey​(java.lang.String cellKey, boolean superColumn)
      Konstruktor zum Anlegen eines CellKeys. Ein normaler CellKey beschreibt eine Zelle in einer Row; allerdings gibt es die übergreifenden Zeilen für die "Keine-Daten-Fälle", die mit superColumn = true konstruiert werden müssen.
      Parameters:
      cellKey - Schlüssel
  • Method Details

    • removeIndices

      public static java.lang.String removeIndices​(java.lang.String s)
      Entfernt alle Indizes aus den Arrays des übergebenen Strings und gibt das Ergebnis zurück.
      Parameters:
      s - ein String, z.B. eine Attributbeschreibung mit Array-Informationen
      Returns:
      der String s ohne Indizes in den Array-Informationen
    • removeArrays

      public static java.lang.String removeArrays​(java.lang.String s)
      Entfernt alle Arrays aus dem übergebenen String und gibt das Ergebnis zurück.
      Parameters:
      s - ein String, z.B. eine Attributbeschreibung mit Array-Informationen
      Returns:
      der String s ohne seine Array-Informationen
    • minColumn

      @Nullable public static CellKeyColumn minColumn​(FilterAttributeGroup filterAttributeGroup, CellKey key1, CellKey key2)
      Gibt die kleinere, d.h. weiter links stehende CellKeyColumn der beiden CellKeys zurück.
      Parameters:
      filterAttributeGroup - die Filter-Attributgruppe
      key1 - ein CellKey
      key2 - noch ein CellKey
      Returns:
      der kleinere der beiden CellKeys
    • maxColumn

      @Nullable public static CellKeyColumn maxColumn​(FilterAttributeGroup filterAttributeGroup, CellKey key1, CellKey key2)
      Gibt die größere, d.h. weiter rechts stehende CellKeyColumn der beiden CellKeys zurück.
      Parameters:
      filterAttributeGroup - die Filter-Attributgruppe
      key1 - ein CellKey
      key2 - noch ein CellKey
      Returns:
      der größere der beiden CellKeys
    • getFIRST_SEPARATOR

      public static java.lang.String getFIRST_SEPARATOR()
      Gibt das erste Trennzeichen in der String-Darstellung des CellKeys zurück.
      Returns:
      das erste Trennzeichen in der String-Darstellung des CellKeys
    • getSECOND_SEPARATOR

      public static java.lang.String getSECOND_SEPARATOR()
      Gibt das zweite Trennzeichen in der String-Darstellung des CellKeys zurück.
      Returns:
      das zweite Trennzeichen in der String-Darstellung des CellKeys
    • isSuperColumn

      public boolean isSuperColumn()
      Gibt an, ob der CellKey eine Super-Spalte beschreibt oder eine normale Spalte.
      Returns:
      steht der CellKey für eine Super-Spalte?
    • getCellKeyAsString

      public java.lang.String getCellKeyAsString()
      Gibt den String aus dem der CellKey konstruiert wurde zurück.
      Returns:
      der String, aus dem der CellKey konstruiert wurde
    • getDataIndex

      public long getDataIndex()
      Gibt den Datensatzindex des CellKeys zurück.
      Returns:
      Datensatzindex des CellKeys
    • getPidOfTheDataTableObject

      public java.lang.String getPidOfTheDataTableObject()
      Gibt die Pid des Datensatzes des CellKeys zurück.
      Returns:
      Pid des Datensatzes
    • getAttributeName

      public java.lang.String getAttributeName()
      Gibt den Attributname des CellKeys inklusive Attributgruppe zurück.
      Returns:
      Attributname des CellKeys inklusive Attributgruppe
    • getAttributePartsWithArrays

      public java.lang.String getAttributePartsWithArrays()
      Gibt den Attributname ohne Attributgruppe, aber mit den Array-Informationen des CellKeys zurück.
      Returns:
      Attributname ohne Attributgruppe, aber mit den Array-Informationen ds CellKeys
    • getAttributeNamePartArrayValues

      public java.lang.Integer[] getAttributeNamePartArrayValues()
      Gibt die Array-Informationen des CellKeys zurück.
      Returns:
      die Array-Informationen des CellKeys
    • equals

      public boolean equals​(java.lang.Object object)
      Overrides:
      equals in class java.lang.Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • attributeNameIsLessOrEqual

      public boolean attributeNameIsLessOrEqual​(FilterAttributeGroup filterAttributeGroup, CellKey key)
      Gestattet einen Vergleich des CellKeys this mit dem übergebenen CellKey. Definiert die Ordnung auf den Spalten bei der Interval-Selektion.
      Parameters:
      filterAttributeGroup - die Filter-Attributgruppe
      key - der CellKey
      Returns:
      das Vergleichsergebnis
    • isBetweenColumns

      public boolean isBetweenColumns​(FilterAttributeGroup filterAttributeGroup, CellKeyColumn lowerColumn, CellKeyColumn upperColumn)
      Gibt genau dann true zurück, wenn der CellKey this sich zwischen den Spaltenschranken befindet.
      Parameters:
      filterAttributeGroup - die Filter-Attributgruppe
      lowerColumn - die untere Spaltengrenze
      upperColumn - die obere Spaltengrenze
      Returns:
      true genau dann, wenn this zwischen den Grenzen liegt
    • getCellText

      public java.lang.String getCellText()
      Gibt den Text, der in der Zelle angezeigt werden soll, zurück.
      Returns:
      den Text, der in der Zelle angezeigt werden soll
    • setCellText

      public void setCellText​(java.lang.String cellText)
      Setzt den Text, der in der Zelle angezeigt werden soll.
      Parameters:
      cellText - der neue Text
    • dumpMe

      public void dumpMe()
      Gibt den CellKey auf System.out aus.
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object