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 gerade 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 trotzdem kein schlankes Objekt. Ein CellKey wird in der Regel mit einem String der Form “
Modifier and Type | Field and Description |
---|---|
private java.lang.Integer |
_attributeGroupId
Attributgruppen-Id
|
private java.lang.Integer[] |
_attributeNamePartArrayValues
Statt Strings merkt sich jeder CellKey nur die Indizes in der entsprechenden Lookup-Map.
|
private java.lang.Integer[] |
_attributeNamePartIds
Statt Strings merkt sich jeder CellKey nur die Indizes in der entsprechenden Lookup-Map.
|
private static java.util.Map<java.lang.String,java.lang.Integer> |
_attributGroupToIdMap
Eine Lookup-Map für den internen Index zum Attributgruppennamen.
|
private java.lang.String |
_cellText
Der in der Zelle darzustellende Text.
|
private long |
_dataIndex
Datensatzindex
|
private static java.util.Map<java.lang.Integer,java.lang.String> |
_idToAttributGroupMap
Eine Lookup-Map für den Attributgruppennamen zur gegebenen, internen Id.
|
private java.lang.Integer |
_internalIdForPid
Pid des Datensatzes
|
private static java.util.Map<java.lang.Integer,java.lang.String> |
_internalIdToPartMap
Eine Lookup-Map für die Part zur internen Id.
|
private static java.util.Map<java.lang.Integer,java.lang.String> |
_internalIdToPidMap
Eine Lookup-Map für die PID zur internen Id.
|
private static java.lang.Integer |
_nextAttributeGroupId
Die nächste zu vergebende interne Attributgruppen-Id.
|
private static java.lang.Integer |
_nextInternalIdForPart
Die nächste zu vergebende interne Part-Id.
|
private static java.lang.Integer |
_nextInternalIdForPid
Die nächste zu vergebende interne PID-Id.
|
private static java.util.Map<java.lang.String,java.lang.Integer> |
_partToInternalIdMap
Eine Lookup-Map für die interne Id des Parts.
|
private static java.util.Map<java.lang.String,java.lang.Integer> |
_pidToInternalIdMap
Eine Lookup-Map für die interne Id der PID.
|
private boolean |
_superColumn
Besitzt ein Datensatz keine Daten, so ist der CellKey nicht eine einzige Spalte, sondern umfasst alle Spalten und dieser Variable ist true.
|
private static java.lang.String |
FIRST_SEPARATOR |
private static java.util.regex.Pattern |
FIRST_SEPARATOR_PATTERN |
private static java.lang.String |
SECOND_SEPARATOR |
private static java.util.regex.Pattern |
SECOND_SEPARATOR_PATTERN |
Constructor and Description |
---|
CellKey(java.lang.String cellKey,
boolean superColumn)
Konstruktor zum Anlegen eines CellKeys.
|
Modifier and Type | Method and Description |
---|---|
boolean |
attributeNameIsLessOrEqual(AttributeGroup attributeGroup,
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) |
static java.lang.Integer |
getArrayValue(java.lang.String s)
Gibt den ersten Integer zwischen einer [ und einer ] innerhalb von s zurück.
|
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.
|
private java.lang.Integer |
getAttributePartArrayValue(int index) |
private java.lang.String |
getAttributePartName(int index) |
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.
|
private int |
getNumberOfParts() |
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(AttributeGroup attributeGroup,
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(AttributeGroup attributeGroup,
CellKey key1,
CellKey key2)
Gibt die größere, d.h. weiter rechts stehende CellKeyColumn der beiden CellKeys zurück.
|
static CellKeyColumn |
minColumn(AttributeGroup attributeGroup,
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() |
private final boolean _superColumn
Besitzt ein Datensatz keine Daten, so ist der CellKey nicht eine einzige Spalte, sondern umfasst alle Spalten und dieser Variable ist true.
private java.lang.Integer _internalIdForPid
Pid des Datensatzes
private long _dataIndex
Datensatzindex
private java.lang.Integer _attributeGroupId
Attributgruppen-Id
private final java.lang.Integer[] _attributeNamePartIds
Statt Strings merkt sich jeder CellKey nur die Indizes in der entsprechenden Lookup-Map.
private final java.lang.Integer[] _attributeNamePartArrayValues
Statt Strings merkt sich jeder CellKey nur die Indizes in der entsprechenden Lookup-Map.
private static java.lang.String FIRST_SEPARATOR
private static java.lang.String SECOND_SEPARATOR
private static java.util.regex.Pattern FIRST_SEPARATOR_PATTERN
private static java.util.regex.Pattern SECOND_SEPARATOR_PATTERN
private static java.util.Map<java.lang.Integer,java.lang.String> _idToAttributGroupMap
Eine Lookup-Map für den Attributgruppennamen zur gegebenen, internen Id.
private static java.util.Map<java.lang.String,java.lang.Integer> _attributGroupToIdMap
Eine Lookup-Map für den internen Index zum Attributgruppennamen.
private static java.lang.Integer _nextAttributeGroupId
Die nächste zu vergebende interne Attributgruppen-Id.
private static java.util.Map<java.lang.String,java.lang.Integer> _pidToInternalIdMap
Eine Lookup-Map für die interne Id der PID.
private static java.util.Map<java.lang.Integer,java.lang.String> _internalIdToPidMap
Eine Lookup-Map für die PID zur internen Id.
private static java.lang.Integer _nextInternalIdForPid
Die nächste zu vergebende interne PID-Id.
private static java.util.Map<java.lang.String,java.lang.Integer> _partToInternalIdMap
Eine Lookup-Map für die interne Id des Parts.
private static java.util.Map<java.lang.Integer,java.lang.String> _internalIdToPartMap
Eine Lookup-Map für die Part zur internen Id.
private static java.lang.Integer _nextInternalIdForPart
Die nächste zu vergebende interne Part-Id.
private java.lang.String _cellText
Der in der Zelle darzustellende Text.
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.
cellKey
- Schlüsselpublic boolean isSuperColumn()
Gibt an, ob der CellKey eine Super-Spalte beschreibt oder eine normale Spalte.
public java.lang.String getCellKeyAsString()
Gibt den String aus dem der CellKey konstruiert wurde zurück.
public long getDataIndex()
Gibt den Datensatzindex des CellKeys zurück.
public java.lang.String getPidOfTheDataTableObject()
Gibt die Pid des Datensatzes des CellKeys zurück.
public java.lang.String getAttributeName()
Gibt den Attributname des CellKeys inklusive Attributgruppe zurück.
public java.lang.String getAttributePartsWithArrays()
Gibt den Attributname ohne Attributgruppe, aber mit den Array-Informationen des CellKeys zurück.
private java.lang.String getAttributePartName(int index)
public java.lang.Integer[] getAttributeNamePartArrayValues()
Gibt die Array-Informationen des CellKeys zurück.
private java.lang.Integer getAttributePartArrayValue(int index)
private int getNumberOfParts()
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.
s
- ein String, z.B. eine Attributbeschreibung mit Array-Informationenpublic static java.lang.String removeArrays(java.lang.String s)
Entfernt alle Arrays aus dem übergebenen String und gibt das Ergebnis zurück.
s
- ein String, z.B. eine Attributbeschreibung mit Array-Informationenpublic static java.lang.Integer getArrayValue(java.lang.String s)
Gibt den ersten Integer zwischen einer [ und einer ] innerhalb von s zurück.
s
- ein Stringpublic boolean equals(java.lang.Object object)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean attributeNameIsLessOrEqual(AttributeGroup attributeGroup, CellKey key)
Gestattet einen Vergleich des CellKeys this mit dem übergebenen CellKey. Definiert die Ordnung auf den Spalten bei der Interval-Selektion.
attributeGroup
- die Attributgruppekey
- der CellKeypublic boolean isBetweenColumns(AttributeGroup attributeGroup, CellKeyColumn lowerColumn, CellKeyColumn upperColumn)
Gibt genau dann true
zurück, wenn der CellKey this
sich zwischen den Spaltenschranken befindet.
attributeGroup
- die AttributgruppelowerColumn
- die untere SpaltengrenzeupperColumn
- die obere Spaltengrenzetrue
genau dann, wenn this zwischen den Grenzen liegtpublic static CellKeyColumn minColumn(AttributeGroup attributeGroup, CellKey key1, CellKey key2)
Gibt die kleinere, d.h. weiter links stehende CellKeyColumn der beiden CellKeys zurück.
attributeGroup
- die Attributgruppekey1
- ein CellKeykey2
- noch ein CellKeypublic static CellKeyColumn maxColumn(AttributeGroup attributeGroup, CellKey key1, CellKey key2)
Gibt die größere, d.h. weiter rechts stehende CellKeyColumn der beiden CellKeys zurück.
attributeGroup
- die Attributgruppekey1
- ein CellKeykey2
- noch ein CellKeypublic java.lang.String getCellText()
Gibt den Text, der in der Zelle angezeigt werden soll, zurück.
public void setCellText(java.lang.String cellText)
Setzt den Text, der in der Zelle angezeigt werden soll.
der
- neue Textpublic void dumpMe()
Gibt den CellKey auf System.out aus.
public static java.lang.String getFIRST_SEPARATOR()
Gibt das erste Trennzeichen in der String-Darstellung des CellKeys zurück.
public static java.lang.String getSECOND_SEPARATOR()
Gibt das zweite Trennzeichen in der String-Darstellung des CellKeys zurück.
public java.lang.String toString()
toString
in class java.lang.Object