Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
newtyping [2017/04/14 08:58]
christian [Specifying the Attribute type]
newtyping [2017/04/14 09:44]
christian [Implementation]
Line 51: Line 51:
  
 The symbol in the declarations above is the PDF type name of the object. The symbol in the declarations above is the PDF type name of the object.
 +
 +===== PDF Object types =====
 +
 +The type hierarchy of PDF objects is shallow and oriented by the use of types in attributes, not by class membership. For example, there are no subtypes of Dictionary or Stream. 
 +
 +===== Implementation =====
 +
 +When PDF objects are read from a file, the are syntactically differentiated as primitive object (Number, String, Name, Boolean etc.) or as Array, Dictionary or Stream. These are raw unspecified objects.
 +
 +When such an object is assigned to an attribute of a Dictionary or Array with ''#at:put:'', the types are checked and the raw object is specialized to a fitting subclass. The process can be explained best with a sequence diagram:
 +
 +{{:pdf:2017-04-13_typing_sequence.jpg?direct&200|}}
 +
 +(the picture has the wrong orientation...)
 +
 +(proper description to come...)
  • newtyping.txt
  • Last modified: 2017/10/12 14:09
  • by christian