Class identifier

From DocDataFlow
Revision as of 04:08, 28 December 2013 by Kris (Talk | contribs)

Jump to: navigation, search

Crawler is built using object-oriented programming techniques.

Many of the Crawler concepts map directly onto underlying object classes.

For example, every adapter type, every granule type, every granule sort... is programmatically represented by an object class.

For granules and granule sorts, these underlying object class are assigned a unique alphanumerical identifier, called the 'class identifier'.

There are many granule types; some examples:

  • com.rorohiko.granule.indesign.color
  • com.rorohiko.granule.folder
  • com.rorohiko.granule.text.word
  • ...

Another example. These are two predefined granule sort class identifiers:

  • com.rorohiko.ordering.frame.vertical
  • com.rorohiko.ordering.frame.horizontal

These class identifiers are 'reverse domain names': by taking an existing domain name (rorohiko.com), reversing it, and add a number of period-separated strings to it, we can create identifiers that can be nearly certainly unique. Other companies using Crawler can define class identifiers that are guaranteed to be different from any other company's class identifiers as long as they stick to this 'reverse domain name' rule.

In Crawler's config files, it is often necessary to refer to specific object classes. That's where these class identifiers come in: they are a convenient way to refer to the use of a particular adapter or granule sort in a text based INI file.