next up previous contents
Next: The Weavable Interface and Up: The Mile High View Previous: Object Typing

The StrawType Class

To simplify the handling of type information, Haystack includes the haystack.object.StrawType class. This class includes a variety of static utility functions that make conversion between types and traversal of Straw hierarchies a trivial operation.

The main functions provided by StrawType are described in Appendix gif. StrawType also provides a list of some of the predefined Straws available in Haystack in a compact representation. For example, Haystack provides a service for creating objects dynamically, and to invoke the create() operation the programmer must pass in the full classname for the object he wishes to create. As the class names for Straws tend to be long, StrawType eases the programmers job by creating obvious naming shortcuts. For example, Instead of passing in ``haystack.object.needle.filetype.Postscript'', the static value StrawType.PostscriptTypeNeedle is passed. The shortcuts currently defined within StrawType are listed in Table gif (more will very likely be added in the future).

AdditionalLocationTie Bale BodyNeedle BodyTie
CausalTie CcFieldNeedle ChecksumNeedle ChecksumTie
DateFieldNeedle Directory DirectoryNeedle DirectoryTypeNeedle
DviTypeNeedle EmailTypeNeedle FiletypeNeedle FiletypeTie
FromFieldNeedle FrommailTypeNeedle GifTypeNeedle GzipTypeNeedle
HaystackDocument HTMLTypeNeedle LastArchiveNeedle LastArchiveTie
LastIndexNeedle LastIndexTie LatexTypeNeedle LocationNeedle
LocationTie MailfieldNeedle MailfieldTie MessageIDFieldNeedle
MessageIDNeedle Needle PostscriptTypeNeedle RMAILNeedle
RmailTypeNeedle SubjectFieldNeedle SummaryNeedle SummaryTie
TextNeedle TextTie TextTypeNeedle Tie
ToFieldNeedle UnknownTypeNeedle URLNeedle UUETypeNeedle

Table: Shortcuts available within StrawType.



Copyright 1998, Eytan Adar (eytan@alum.mit.edu)