Class 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 Detail

      • 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 Detail

      • 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
      • 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
      • 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
      • 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
      • 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.
      • 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
      • toString

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