The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Org::Element::Base - Base class for element of Org document

VERSION

version 0.10

ATTRIBUTES

document => DOCUMENT

Link to document object. Elements need this e.g. to access file-wide settings, properties, etc.

parent => undef | ELEMENT

Link to parent element.

children => undef | ARRAY_OF_ELEMENTS

METHODS

$el->children_as_string() => STR

Return a concatenation of children's as_string(), or "" if there are no children.

$el->as_string() => STR

Return the string representation of element. The default implementation will just use _str (if defined) concatenated with children_as_string().

$el->seniority => INT

Find out the ranking of brothers/sisters of all sibling. If we are the first child of parent, return 0. If we are the second child, return 1, and so on.

$el->prev_sibling() => ELEMENT | undef

$el->next_sibling() => ELEMENT | undef

$el->get_property($name, $search_parent) => VALUE

Search for property named $name in the nearest properties drawer. If $search_parent is set to true (default is false), will also search in upper-level properties (useful for searching for inherited property, like foo_ALL). Return undef if property cannot be found in all drawers.

Regardless of $search_parent setting, file-wide properties will be consulted if property is not found in nearest properties drawer.

walk(CODEREF)

Call CODEREF for node and all descendent nodes, depth-first. Code will be given the element object as argument.

find(CRITERIA) -> ELEMENTS

Find subelements. CRITERIA can be a word (e.g. 'Headline' meaning of class 'Org::Element::Headline') or a class name ('Org::Element::ListItem') or a coderef (which will be given the element to test). Will return matched elements.

$el->walk_parents(CODE)

Run CODEREF for parent, and its parent, and so on until the root element (the document), or until CODEREF returns a false value. CODEREF will be supplied ($el, $parent). Will return the last parent walked.

$el->headline()

Get current headline.

AUTHOR

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Steven Haryanto.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.