NAME

Data::Object::Base

ABSTRACT

Data-Object Base Class

SYNOPSIS

use parent 'Data::Object::Base';

DESCRIPTION

This package provides an abstract base class used for identity and classification of Data::Object classes.

LIBRARIES

This package uses type constraints defined by:

Data::Object::Library

METHODS

This package implements the following methods.

class

class() : Str

The class method returns the class name for the given class or object.

class example
# given $self (Foo::Bar)

$self->class();

# Foo::Bar (string)

deduce

deduce(Maybe[Any] $arg) : Object

The deduce method returns a data object for a given argument. A blessed argument will be ignored, less a RegexpRef.

deduce example
# given $arrayref

my $array_object = $self->deduce($arrayref);

detract

detract(Maybe[Any] $arg) : Value

The detract method returns a raw data value for a given argument which is a type of data object. If no argument is provided the invocant will be used.

detract example
# given $array_object

my $arrayref = $self->detract($array_object);

space

space(Str $arg1) : Object

The space method returns a Data::Object::Space object for the given class, object or argument.

space example
# given $self (Foo::Bar)

$self->space();

# Foo::Bar (space object)

$self->space('Foo/Baz');

# Foo::Baz (space object)

type

type() : Str

The type method returns object type string.

type example
my $type = $self->type();

CREDITS

Al Newkirk, +319

Anthony Brummett, +10

Adam Hopkins, +2

José Joaquín Atria, +1

AUTHOR

Al Newkirk, [email protected]

LICENSE

Copyright (C) 2011-2019, Al Newkirk, et al.

This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated here, https://github.com/iamalnewkirk/do/blob/master/LICENSE.

PROJECT

Wiki

Project

Initiatives

Milestones

Contributing

Issues

SEE ALSO

To get the most out of this distribution, consider reading the following:

Do

Data::Object

Data::Object::Class

Data::Object::ClassHas

Data::Object::Role

Data::Object::RoleHas

Data::Object::Library