NAME
DAIA::Object - Abstract base class of all DAIA classes
DESCRIPTION
This package implements just another Perl meta-class framework. Just ignore it unless you have a clue what "meta-class framework" could mean. Some concepts are borrowed from the mighty Moose object system but this framework is much smaller. Maybe you should better have a look at Moose and stop reading now.
In a nutshell DAIA::Object
handles all method calls via AUTOLOAD. Each derived package must provide a %PROPERTIES
hash that defines an object's attributes. Each property is defined by a hash that must either contain a type
value pointing to a class name (typed property) or a filter
value containing a plain value ar a filter method (untyped property).
METHDOS
Constructor methods
All derived DAIA classed use this constructor. As DAIA::Object
is an abstract base class directly calling is of little use.
new ( ..attributes... )
Constructs a new DAIA object. Unknown properties are ignored.
Modification methods
add ( ... )
Adds typed properties to an object.
Serialization methods
A DAIA object can be serialized by the following methods:
xml ( [ $xmlns ] )
Returns the object in DAIA/XML. If you specify xmlns
as parameter, then a namespace declaration is added.
struct ( [ $json ] )
Returns the object as unblessed Perl data structure. If you specify a true parameter, only boolean values will be kept as blessed JSON::Boolean
objects (see JSON). The label
property will only be included unless it is not the empty string.
json ( [ $callback ] )
Returns the object in DAIA/JSON, optionally wrapped by a JavaScript callback function call. Invalid callback names are ignored without warning.
INTERNAL METHODS
The following methods are only used internally; don't directly call or modify them unless you want to damage data integrity or to fix a bug!
AUTOLOAD
Called if an unknown method is called. Almost all method calls go through this magic method. Thanks, AUTOLOAD, thanks Perl.
xml_write ( $roottag, $content, $level )
Simple, adopted XML::Simple::XMLOut replacement with support of element order
xml_escape_value ( $string )
Escape special XML characters.
_buildargs
Returns a property-value hash of constructor parameters.
BUGS
The XML serialization does not use the right element order and there is no strict parsing mode yet. More examples will be included too.
AUTHOR
Jakob Voss <jakob.voss@gbv.de>
LICENSE
Copyright (C) 2009 by Verbundzentrale Goettingen (VZG) and Jakob Voss
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.