AMETAS.data
Class AMETASPlaceUserID

java.lang.Object
  extended byAMETAS.data.AMETASUniqueID
      extended byAMETAS.data.AMETASPlaceUserID
All Implemented Interfaces:
java.io.Serializable

public class AMETASPlaceUserID
extends AMETASUniqueID

ID eines Stellennutzers. Jeder PlaceUser besitzt eine Instanz dieser Klasse, um seine Identität auszuweisen. Eine PlaceUserID besitzt folgende Felder:

NameGruppeHerkunfts-IP-AdresseZeitstempelStarter-ID

Die beiden Felder Herkunfts-IP-Adresse und Zeitstempel machen die ID eindeutig. Dieser Felder erbt die PlaceUserID von der Klasse AMETASUniqueID. Der Name ist nicht unbedingt der Klassenname, aber per Konvention wird dieser als Name gewählt. Es kann irgendein applikationsspezifischer Bezeichner gewählt werden. Wird kein Name gewählt, wird NO_NAME angenommen. Das Gruppen-Feld dient zur Gruppierung verschiedener Stellennutzer, ohne dass diese denselben Namen haben müssten. Eine Nachricht kann zum Beispiel an alle Mitglieder einer Gruppe gesendet werden. Die Starter-ID enthält die Identität des Stellennutzer-Starters. Dies kann ein menschlicher Benutzer sein, wenn der Stellennutzer direkt von diesem oder indirekt von einem seiner Stellennutzer gestartet wurde. Es kann aber auch die Stelle sein. Diese startet z.B. alle Dienste. Startet ein Dienst Agenten, so hängt es von den Einstellungen in der Parameterdatei der Stelle ab, ob der Starter die Stelle selbst oder ein dort eingetragener Benutzer ist. Durch die Starter-ID ist es möglich Stellennutzer anhand ihres Benutzers zu adressieren.

See Also:
Serialized Form

Field Summary
static java.lang.String NO_GROUP
          Vorgabe für die Gruppe.
static java.lang.String NO_NAME
          Vorgabe für den Namen.
 
Fields inherited from class AMETAS.data.AMETASUniqueID
m_IPAddress, m_nTimeStamp
 
Constructor Summary
AMETASPlaceUserID()
          Konstruktor ohne Argumente.
AMETASPlaceUserID(java.lang.String sName)
          Erzeugt eine neue PlaceUserID.
AMETASPlaceUserID(java.lang.String sName, java.lang.String sGroup)
          Erzeugt eine neue PlaceUserID.
AMETASPlaceUserID(java.lang.String sName, java.lang.String sGroup, AMETASUniqueID uid)
          Konstruktor mit UniqueID.
AMETASPlaceUserID(java.lang.String sName, java.lang.String sGroup, java.net.InetAddress inetAddr, long nTimeStamp, AMETASIdentityID iidStarter)
          Konstruktor mit den Einzelteilen.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Vergleicht diese PlaceUserID mit eine zweiten.
 java.lang.String getGroup()
          Liefert die Gruppe.
 java.lang.String getName()
          Liefert den Namen.
 AMETASIdentityID getStarterID()
          Liefert die ID des Starters des Stellennutzers.
 int hashCode()
          Liefert den Hashcode dieser PlaceUserID.
 void setStarterID(AMETASIdentityID iidStarter)
          Setzt die ID des Starters des Stellennutzers.
 boolean sharesGroupWith(AMETASPlaceUserID id)
          Überprüft, ob zwei IDs dieselbe Gruppe beinhalten.
 boolean sharesNameWith(AMETASPlaceUserID id)
          Überprüft, ob zwei IDs denselben Namen beinhalten.
 boolean sharesStarterWith(AMETASPlaceUserID id)
          Überprüft, ob zwei IDs dieselbe Starter-ID beinhalten, also vom selben Benutzer stammen.
 byte[] toByteArray()
          Umwandeln der ID in ein Bytefeld.
 java.lang.String toCanonString()
          Liefert eine kanonische Stringrepräsentation der PlaceUserID.
 java.lang.String toString()
          Liefert eine Stringrepräsentation der PlaceUserID.
 java.lang.String toString(boolean bDetail)
          Liefert eine Stringrepräsentation der PlaceUserID.
 
Methods inherited from class AMETAS.data.AMETASUniqueID
getIPAddress, getTimeStamp, isOlderThan, sharesIPAddressWith, toHexString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

NO_NAME

public static final java.lang.String NO_NAME
Vorgabe für den Namen. In der Regel sollte aber ein spezifischer Name gewählt werden.

See Also:
Constant Field Values

NO_GROUP

public static final java.lang.String NO_GROUP
Vorgabe für die Gruppe. Diese signalisiert, dass der Stellennutzer zu keiner Gruppe gehört. Er ist sozusagen ein Einzelgänger.

See Also:
Constant Field Values
Constructor Detail

AMETASPlaceUserID

public AMETASPlaceUserID()
Konstruktor ohne Argumente. Hiermit kann eine unspezifische ID (NO_NAME, NO_GROUP) generiert werden.


AMETASPlaceUserID

public AMETASPlaceUserID(java.lang.String sName,
                         java.lang.String sGroup,
                         AMETASUniqueID uid)
Konstruktor mit UniqueID. Hiermit kann eine PlaceUserID aus einem String rekonstruiert werden.

Parameters:
sName - Name des Stellennutzers.
sGroup - Gruppe des Stellennutzers.
uid - Eindeutige ID des Stellennutzers.

AMETASPlaceUserID

public AMETASPlaceUserID(java.lang.String sName,
                         java.lang.String sGroup,
                         java.net.InetAddress inetAddr,
                         long nTimeStamp,
                         AMETASIdentityID iidStarter)
Konstruktor mit den Einzelteilen. Hiermit kann eine PlaceUserID aus einer PlaceUserIDMask hergestellt werden.

Parameters:
sName - Name des Stellennutzers.
sGroup - Gruppe des Stellennutzers.
inetAddr - InetAddress der UniqueID
nTimeStamp - Zeitstempel der UniqueID.
iidStarter - Starter des Stellennutzers.
Since:
2.6.0

AMETASPlaceUserID

public AMETASPlaceUserID(java.lang.String sName,
                         java.lang.String sGroup)
Erzeugt eine neue PlaceUserID.

Parameters:
sName - Name des Stellennutzers.
sGroup - Gruppe des Stellennutzers.

AMETASPlaceUserID

public AMETASPlaceUserID(java.lang.String sName)
Erzeugt eine neue PlaceUserID. Als Gruppe wird NO_GROUP angenommen.

Parameters:
sName - Name des Stellennutzers.
Method Detail

getStarterID

public AMETASIdentityID getStarterID()
Liefert die ID des Starters des Stellennutzers.

Returns:
ID des Starters des Stellennutzers.
Since:
2.4.0

setStarterID

public void setStarterID(AMETASIdentityID iidStarter)
Setzt die ID des Starters des Stellennutzers. Achtung: Diese Methode kann genau einmal aufgerufen werden und dies geschieht bei der Erzeugung des Stellennutzers automatisch durch die Stelle. Sollte der Stellennutzer zu Zwecke der Vortäuschung einer falschen Starteridentität diese Methode benutzen, so wird der automatische Aufruf innerhalb der Stelle eine Ausnahme erzeugen und der Start wird abgebrochen.

Throws:
ProtectionViolationException - wird geworfen, wenn diese Methode mehr als einmal aufgerufen wird.
Since:
2.4.0

getGroup

public java.lang.String getGroup()
Liefert die Gruppe.

Returns:
Gruppe des Stellennutzers.

getName

public java.lang.String getName()
Liefert den Namen.

Returns:
Name des Stellennutzers.

sharesGroupWith

public boolean sharesGroupWith(AMETASPlaceUserID id)
Überprüft, ob zwei IDs dieselbe Gruppe beinhalten.

Parameters:
id - Mit dieser ID zu vergleichende PlaceUserID.
Returns:
true, falls die Übereinstimmung festgestellt wird, false sonst.

sharesNameWith

public boolean sharesNameWith(AMETASPlaceUserID id)
Überprüft, ob zwei IDs denselben Namen beinhalten.

Parameters:
id - Mit dieser ID zu vergleichende PlaceUserID.
Returns:
true, falls die Übereinstimmung festgestellt wird, false sonst.

sharesStarterWith

public boolean sharesStarterWith(AMETASPlaceUserID id)
Überprüft, ob zwei IDs dieselbe Starter-ID beinhalten, also vom selben Benutzer stammen.

Parameters:
id - Mit dieser ID zu vergleichende PlaceUserID.
Returns:
true, falls die Übereinstimmung festgestellt wird, false sonst.
Since:
2.4.0

hashCode

public int hashCode()
Liefert den Hashcode dieser PlaceUserID.

Overrides:
hashCode in class AMETASUniqueID
Returns:
Hashcode der PlaceUserID.

equals

public boolean equals(java.lang.Object obj)
Vergleicht diese PlaceUserID mit eine zweiten.

Overrides:
equals in class AMETASUniqueID
Returns:
true, wenn beide IDs gleich sind, sonst false.

toByteArray

public byte[] toByteArray()
Umwandeln der ID in ein Bytefeld.

Returns:
Bytefeld.
Since:
2.4.0

toCanonString

public java.lang.String toCanonString()
Liefert eine kanonische Stringrepräsentation der PlaceUserID. Diese Repräsentation hat die Form Name|Gruppe|Starter-UID|UID-Teil dieser ID.

Die letzten beiden Bestandteile sind UIDs (also ein Verbund aus IP-Adresse und Zeitstempel) und werden formatiert als aabbccddtttttttttttttttt. Die Darstellung ist im Hexadezimal-Format, wobei aabbccdd die 4 Byte der IP-Adresse und tttttttttttttttt die 8 Byte des Zeitstempels sind.

Solange sich nicht die interne Struktur der PlaceUserID durch Neuimplementierungen verändert, hat dieser String immer diese kanonische Struktur. Er kann also z.B. für Stringvergleiche herangezogen oder geparst werde.

Returns:
kanonische Stringrepräsentation.
Since:
2.3.0

toString

public java.lang.String toString()
Liefert eine Stringrepräsentation der PlaceUserID.

Overrides:
toString in class AMETASUniqueID
Returns:
Stringrepräsentation.

toString

public java.lang.String toString(boolean bDetail)
Liefert eine Stringrepräsentation der PlaceUserID.

Parameters:
bDetail - wenn true, werden alle Einzelheiten ausgegeben.
Returns:
Stringrepräsentation.