Class EscherProperty

    • Constructor Detail

      • EscherProperty

        protected EscherProperty​(short id)
        The id is distinct from the actual property number. The id includes the property number the blip id flag and an indicator whether the property is complex or not.
        Parameters:
        id - the combined id
      • EscherProperty

        protected EscherProperty​(short propertyNumber,
                                 boolean isComplex,
                                 boolean isBlipId)
        Constructs a new escher property. The three parameters are combined to form a property id.
        Parameters:
        propertyNumber - the property number
        isComplex - true, if this is a complex property
        isBlipId - true, if this property is a blip id
      • EscherProperty

        protected EscherProperty​(EscherPropertyTypes type,
                                 boolean isComplex,
                                 boolean isBlipId)
        Constructs a new escher property. The three parameters are combined to form a property id.
        Parameters:
        type - one of the defined property types
        isComplex - true, if this is a complex property
        isBlipId - true, if this property is a blip id
    • Method Detail

      • getId

        public short getId()
      • getPropertyNumber

        public short getPropertyNumber()
      • isComplex

        public boolean isComplex()
      • isBlipId

        public boolean isBlipId()
      • getName

        public String getName()
      • getPropertySize

        public int getPropertySize()
        Most properties are just 6 bytes in length. Override this if we're dealing with complex properties.
        Returns:
        size of this property (in bytes)
      • serializeSimplePart

        public abstract int serializeSimplePart​(byte[] data,
                                                int pos)
        Escher properties consist of a simple fixed length part and a complex variable length part. The fixed length part is serialized first.
        Parameters:
        data - the buffer to write to
        pos - the starting position
        Returns:
        the length of the part
      • serializeComplexPart

        public abstract int serializeComplexPart​(byte[] data,
                                                 int pos)
        Escher properties consist of a simple fixed length part and a complex variable length part. The fixed length part is serialized first.
        Parameters:
        data - the buffer to write to
        pos - the starting position
        Returns:
        the length of the part