Oryx::Manual::Guts

Oryx::Manual::Guts is a Perl module that contains Oryx internals documentation for developers.
Download

Oryx::Manual::Guts Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Richard Hundt
  • Publisher web site:
  • http://search.cpan.org/~rhundt/

Oryx::Manual::Guts Tags


Oryx::Manual::Guts Description

Oryx::Manual::Guts is a Perl module that contains Oryx internals documentation for developers. Oryx::Manual::Guts is a Perl module that contains Oryx internals documentation for developers.This document is intended for hackers to grant an insight into how Oryx's pieces fit together and is intended for anyone wishing to extend Oryx... or for anybody who just wants to know how the sausage is made.NOMENCLATUREOryx implements an object oriented meta-model, that is, information about persistent classes is carried around, usually as instances of meta classes, by the persistent classes themselves, instances of which are your persistent objects.This makes it difficult to describe a meta-model which has components, or meta-components, which themselves are really just ordinary Perl objects.Thus we could end up talking about instances of the Oryx::Value::String class being associated with an instance of the Oryx::Attribute class when mentioning how they relate to our persistant objects - which are themselves Oryx::Class derived instances. All of which can be tricky for the brain (well mine, at any rate) to keep a grip on.So to make this slightly more coherent, we'll stick to the following nomenclature throughout this document:class When we say "class" we mean a subclass of Oryx::Class which you can instantiate into "objects" which are persistable in some storage backend - usually a database of sorts.object When we refer to "objects" we mean our persistent objects - that is, instances of subclasses of Oryx::Class which we're interested in storing in our database.meta-type We'll use "meta-type" when talking about meta classes of which Oryx::Attribute and Oryx::Association are two examples (not to be confused with instances of these described under meta-instances below).meta-instance These are actually objects themselves (but not of the kind described above under "object") and are considered meta data of the "class" in that they hold descriptive information about the "classes". Examples are instances of Oryx::Attribute and Oryx::Association.meta-attribute When we say: "meta-attribute", what we mean varies. To explain: two methods are available for accessing these and are inherited by all meta-types from Oryx::MetaClass. The methods are getMetaAttribute and setMetaAttribute. Exactly what these access depends on the context, that is to say, the term "meta" here is relative to the meta-type on which the method is called. So if we say: CMS::Page->attributes->{number}->getMetaAttribute('type'); We will get a string representing the type of the value which may be stored in this field of the object, most likely an 'Integer' in this case. On the other hand, if we say: CMS::Page->association->{paragraphs}->getMetaAttribute('class'); We will get the name of the target class of the 'paragraphs' association, probably CMS::Paragraph in this case, which is a class name - in fact a subclass of Oryx::Class - which is not an Oryx meta-type, but in this context, it is meta-data which this association needs in order to perform its duty. Requirements: · Perl


Oryx::Manual::Guts Related Software