AMETAS.data.type
Class StringType

java.lang.Object
  extended byAMETAS.data.type.TypeContent
      extended byAMETAS.data.type.StringType
All Implemented Interfaces:
java.io.Serializable

public class StringType
extends TypeContent
implements java.io.Serializable

Repräsentiert einen String-basierten Typinhalt. Dies sind in der Regel die SPU-Namen samt den Parametrisierungen, falls vorhanden, also etwas "MeinDienst#P1". String-basierte Typen werden so verglichen, dass der Name übereinstimmen muss.

Since:
2.3.0
See Also:
Serialized Form

Field Summary
static char GROUP_SEP
          Trennzeichen zur Gruppe.
static char VERSION_SEP
          Trennzeichen Name-Version.
static java.lang.String WILDCARD
          Stellvertreterzeichen.
 
Constructor Summary
StringType(java.lang.String sName)
          Konstruktor des Typinhalts.
StringType(java.lang.String sName, java.lang.String sVersion, java.lang.String sGroup)
          Konstruktor des Typinhalts.
 
Method Summary
 java.lang.Object clone()
          Liefert eine Kopie des Objekts.
 TypeConformance getConformanceTo(TypeContent tycSuper, TypeConformance tcFail, KnowledgeBase kb)
          Vergleicht zwei Typdefinitionen.
 java.lang.String getContent()
          Liefert den Inhalt.
 java.lang.String getGroup()
          Liefert den Hinterteil des Inhalts.
 java.lang.String getName()
          Liefert den Vorderteil des Inhalts.
 byte[] getSignableData()
          Liefert die zu signierenden daten.
 java.lang.String getVersion()
          Liefert den Versionsteil des Inhalts.
 void specialize(TypeContent tycSpec)
          Spezialisiert den Typ.
 java.lang.String toString()
          Liefert eine Stringrepräsentation.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

VERSION_SEP

public static final char VERSION_SEP
Trennzeichen Name-Version.

See Also:
Constant Field Values

GROUP_SEP

public static final char GROUP_SEP
Trennzeichen zur Gruppe.

See Also:
Constant Field Values

WILDCARD

public static final java.lang.String WILDCARD
Stellvertreterzeichen.

See Also:
Constant Field Values
Constructor Detail

StringType

public StringType(java.lang.String sName)
Konstruktor des Typinhalts.

Parameters:
sName - Stringrepräsentation des Typs.

StringType

public StringType(java.lang.String sName,
                  java.lang.String sVersion,
                  java.lang.String sGroup)
Konstruktor des Typinhalts. Hier können die drei Teile separat angegeben werden.

Parameters:
sName - Name.
sVersion - Instanzkennzeichen (oder Version).
sGroup - Gruppe.
Method Detail

specialize

public void specialize(TypeContent tycSpec)
                throws java.lang.IllegalArgumentException
Spezialisiert den Typ. Der übergebene Typ muss überall dort eine Wildcard aufweisen, wo dieser Typ bereits definiert ist.

Specified by:
specialize in class TypeContent
Parameters:
tycSpec - Spezialisierung.
Throws:
java.lang.IllegalArgumentException - falls der übergebene Typ kein Stringtyp ist oder eine bestehende Komponente dieses Stringtyps überschreibt.

getConformanceTo

public TypeConformance getConformanceTo(TypeContent tycSuper,
                                        TypeConformance tcFail,
                                        KnowledgeBase kb)
Vergleicht zwei Typdefinitionen. Stringtypen bestehen in der Regel aus zwei Teilen der Form A:B. Dabei kann A als A#V geschrieben werden, wobei V eine Version beschreibt. Es gilt: A#V ist spezieller als A alleine. Das heißt, jedes A#V ist ein A. Ferner ist A/B spezieller als A und B. Der Deutlichkeit halber schreibt man A/* und *\/B; äquivalent sind die Schreibweisen A und /B. Daraus folgt: A#V/B passt auf A, A/B und /B. Jedoch passt A\/B nicht auf A#V/B. Der Stringtyp * ist der maximale Typ.

Specified by:
getConformanceTo in class TypeContent
Parameters:
tycSuper - Beschreibung des möglichen Supertypen.
tcFail - Typkonformitätsmaske. Bei Stringvergleichen ohne Bedeutung.
kb - Wissensbasis für Typvergleich. Bei Stringvergleichen ohne Bedeutung.
Returns:
Typkonformität.

getName

public java.lang.String getName()
Liefert den Vorderteil des Inhalts. Dieser wird gemeinhin als Name interpretiert. Die version wird nicht geliefert.

Returns:
Name. Wenn nicht vorhanden, wird ein leerer String geliefert. Falls es sich um eine Wildcard handelt, wird diese geliefert.

getVersion

public java.lang.String getVersion()
Liefert den Versionsteil des Inhalts.

Returns:
Version. Wenn nicht vorhanden, wird ein leerer String geliefert. Falls es sich um eine Wildcard handelt, wird diese geliefert.

getGroup

public java.lang.String getGroup()
Liefert den Hinterteil des Inhalts. Dieser wird gemeinhin als Gruppe interpretiert.

Returns:
Gruppe. Wenn nicht vorhanden, wird ein leerer String geliefert. Falls es sich um eine Wildcard handelt, wird diese geliefert.

getContent

public java.lang.String getContent()
Liefert den Inhalt.

Returns:
Inhalt.

clone

public java.lang.Object clone()
Liefert eine Kopie des Objekts.

Specified by:
clone in class TypeContent
Returns:
Kopie.

getSignableData

public byte[] getSignableData()
Liefert die zu signierenden daten.

Specified by:
getSignableData in class TypeContent
Returns:
Zu signierende Daten.

toString

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

Specified by:
toString in class TypeContent
Returns:
Stringrepräsentation.