Graph::Easy::Base(3p)

NAME
Graph::Easy::Base - base class for Graph::Easy objects like nodes, edges etc

SYNOPSIS
        package Graph::Easy::My::Node;
        use Graph::Easy::Base;
        @ISA = qw/Graph::Easy::Base/;

DESCRIPTION
Used automatically and internally by Graph::Easy - should not be used directly.

METHODS

  new()
        my $object = Graph::Easy::Base->new();

Create a new object, and call _init() on it.

  error()
        $last_error = $object->error();

        $object->error($error);                 # set new messages
        $object->error('');                     # clear the error

Returns the last error message, or '' for no error.

When setting a new error message, "$self->_croak($error)" will be called unless "$object->no_fatal_errors()" is true.

  error_as_html()
        my $error = $object->error_as_html();

Returns the same error message as error(), but properly escaped as HTML so it is safe to output to the client.

  warn()
        $object->warn('Warning!');

Warn on STDERR with the given message.

  no_fatal_errors()
        $object->no_fatal_errors(1);

Set the flag that determines whether setting an error message via error() is fatal, e.g. results in a call to _croak().

A true value will make errors non-fatal. See also fatal_errors.

  fatal_errors()
        $fatal = $object->fatal_errors();
        $object->fatal_errors(0);               # turn off
        $object->fatal_errors(1);               # turn on

Set/get the flag that determines whether setting an error message via error() is fatal, e.g. results in a call to _croak().

A true value makes errors fatal.

  catch_errors()
        my $catch_errors = $object->catch_errors();     # query
        $object->catch_errors(1);                       # enable

        $object->...();                                 # some error
        if ($object->error())
          {
          my @errors = $object->errors();               # retrieve
          }

Enable/disable catching of all error messages. When enabled, all previously caught error messages are thrown away, and from this poin on new errors are non-fatal and stored internally. You can retrieve these errors later with the errors() method.

  catch_warnings()
        my $catch_warns = $object->catch_warnings();    # query
        $object->catch_warnings(1);                     # enable

        $object->...();                                 # some error
        if ($object->warning())
          {
          my @warnings = $object->warnings();           # retrieve
          }

Enable/disable catching of all warnings. When enabled, all previously caught warning messages are thrown away, and from this poin on new warnings are stored internally. You can retrieve these errors later with the errors() method.

  catch_messages()
        # catch errors and warnings
        $object->catch_messages(1);
        # stop catching errors and warnings
        $object->catch_messages(0);

A true parameter is equivalent to:

        $object->catch_warnings(1);
        $object->catch_errors(1);

See also: catch_warnings() and catch_errors() as well as errors() and warnings().

  errors()
        my @errors = $object->errors();

Return all error messages that occurred after catch_messages() was called.

  warnings()
        my @warnings = $object->warnings();

Return all warning messages that occurred after catch_messages() or catch_errors() was called.

  self()
        my $self = $object->self();

Returns the object itself.

  class()
        my $class = $object->class();

Returns the full class name like "node.cities". See also "sub_class".

  sub_class()
        my $sub_class = $object->sub_class();

Returns the sub class name like "cities". See also "class".

  main_class()
        my $main_class = $object->main_class();

Returns the main class name like "node". See also "sub_class".

EXPORT
None by default.

SEE ALSO
Graph::Easy.

AUTHOR
Copyright (C) 2004 - 2008 by Tels <http://bloodgate.com>.

See the LICENSE file for more details.