Class BinaryObject

  • Direct Known Subclasses:
    BinaryConfigObject, BinaryDynamicObject

    public abstract class BinaryObject
    extends java.lang.Object
    Binäre Darstellung eines Objekts in der Konfigurationsdatei (ConfigAreaFile). Diese Klasse bietet einfache Methoden um Objekte aus DataInput-Objekten (wie DataInputStreams oder BufferedRandomAccessFiles) einzulesen und sie wieder zu schreiben.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int CONFIG_OBJ_HEADER_SIZE
      Größe des Headers fär Konfigurationsobjekte: ID (long), PidHashCode (int), Typ-ID (long), Objekttyp (byte), Ungültig (short), Gültig (short)
      static int CONFIGURATION_OBJECT_TYPE  
      static int DYN_OBJ_HEADER_SIZE
      Größe des Headers fär dynamische Objekte: ID (long), PidHashCode (int), Typ-ID (long), Objekttyp (byte), Ungültig (long), Gültig (long), Simulationsvariante (short)
      static int DYNAMIC_OBJECT_TYPE  
    • Constructor Summary

      Constructors 
      Constructor Description
      BinaryObject()  
    • Method Summary

      Modifier and Type Method Description
      static BinaryObject fromDataInput​(java.io.DataInput input)
      Liest ein Objekt ein
      abstract long getObjectId()
      Gibt die Objekt-ID zurück
      abstract byte[] getPackedBytes()
      Gibt die gepackten Bytes zurück.
      abstract int getPidHashCode()
      Gibt den Pid-Hashcode zurück
      abstract long getTypeId()
      Gibt die ID des Objekttyps zuück
      abstract SystemObjectInformation toSystemObjectInfo​(ConfigAreaFile file, long position)  
      abstract int write​(java.io.DataOutput output)
      Schreibt das Objekt in den Ausgabe-Stream
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • CONFIG_OBJ_HEADER_SIZE

        public static final int CONFIG_OBJ_HEADER_SIZE
        Größe des Headers fär Konfigurationsobjekte: ID (long), PidHashCode (int), Typ-ID (long), Objekttyp (byte), Ungültig (short), Gültig (short)
        See Also:
        Constant Field Values
      • DYN_OBJ_HEADER_SIZE

        public static final int DYN_OBJ_HEADER_SIZE
        Größe des Headers fär dynamische Objekte: ID (long), PidHashCode (int), Typ-ID (long), Objekttyp (byte), Ungültig (long), Gültig (long), Simulationsvariante (short)
        See Also:
        Constant Field Values
      • CONFIGURATION_OBJECT_TYPE

        public static final int CONFIGURATION_OBJECT_TYPE
        See Also:
        Constant Field Values
    • Constructor Detail

      • BinaryObject

        public BinaryObject()
    • Method Detail

      • fromDataInput

        public static BinaryObject fromDataInput​(java.io.DataInput input)
                                          throws java.io.IOException
        Liest ein Objekt ein
        Parameters:
        input - Eingabe-Stream oder BufferedRandomAccessFile, das sich an der richtigen Position befindet. Der Stream befindet sich nach dem Einlesen garantiert an der Position nach dem Objekt (oder der Lücke), wo also ein weiteres Objekt gelesen werden kännte.
        Returns:
        Eingelesenes Objekt oder null, wenn sich an dieser Position eine Lücke befindet.
        Throws:
        java.io.IOException
      • write

        public abstract int write​(java.io.DataOutput output)
                           throws java.io.IOException
        Schreibt das Objekt in den Ausgabe-Stream
        Parameters:
        output - Ausgabe
        Returns:
        Anzahl geschriebener Bytes
        Throws:
        java.io.IOException
      • getObjectId

        public abstract long getObjectId()
        Gibt die Objekt-ID zurück
        Returns:
        die Objekt-ID oder 0 falls es sich um eine Lücke handelt
      • getPidHashCode

        public abstract int getPidHashCode()
        Gibt den Pid-Hashcode zurück
        Returns:
        den Pid-Hashcode
      • getTypeId

        public abstract long getTypeId()
        Gibt die ID des Objekttyps zuück
        Returns:
        die ID des Objekttyps
      • getPackedBytes

        public abstract byte[] getPackedBytes()
        Gibt die gepackten Bytes zurück. Die gepackten Bytes enthalten weitere Objektinformationen wie die Name, Pid, Konfigurationsdaten usw.
        Returns:
        die gepackten Bytes
      • toSystemObjectInfo

        public abstract SystemObjectInformation toSystemObjectInfo​(ConfigAreaFile file,
                                                                   long position)
                                                            throws java.io.IOException,
                                                                   de.bsvrz.sys.funclib.dataSerializer.NoSuchVersionException
        Throws:
        java.io.IOException
        de.bsvrz.sys.funclib.dataSerializer.NoSuchVersionException