sourCEntral - mobile manpages

pdf

MakeMethods::Docs::Catalog

NAME

Class::MakeMethods::Docs::Catalog - List of Makable Method Types

DESCRIPTION

This document lists the various subclasses of Class::MakeMethods included in this distribution, and the method types each one provides.

See the documentation for each implementation for more details about the features it provides.

For each class, a parenthetical comment indicates whether the methods it generates are applicable to individual blessed objects (Instances), to class data (Global), or both (Any) =head2 Scoping

The final part of the name of a method-generating subclass typically indicates the scope or applicability of the methods it generates
Hash

For object instances based on blessed hashes with named values.

Array

For object instances based on blessed arrays with positional values.

Scalar

For object instances based on blessed scalars with a single value.

InsideOut

For any object instance regardless of underlying data type.

Ref

For any object instance regardless of underlying data type.

Inheritable

For data which can be set at the class, subclass, or instance level.

Class

For class data shared by all instances but different for each subclass

ClassVar

For class data shared by all instances but different for each subclass

ClassInherit

For class data shared by all instances but different for each subclass

Global

For global data shared by a class and all its instances and subclasses

PackageVar

For global data shared by a class and all its instances and subclasses

Universal

# General method types that are widely applicable

Summary Charts
This table shows which scopes are available in each generator family:

SCOPING Basic Standard Evaled Composite Template
Hash + + + + +
Array + + + +
Scalar +
InsideOut +
Ref +
Inheritable + + +
Class +
ClassVar +
ClassInherit +
Global + + + +
PackageVar +
Universal + +

This table shows which types of methods are typically available in each generator family:

METHOD Basic Standard Evaled Composite Template
new + + + +
scalar + + + +
string +
string_index +
number +
boolean +
boolean_index +
bits +
array + + + +
struct +
hash + + + +
hash_of_arrays +
tiedhash +
object + + +
instance +
array_of_objects +
code +
code_or_scalar +

BASIC CLASSES

Basic::Hash (Instances)
Methods for objects based on blessed hashes. See Class::MakeMethods::Basic::Hash for details.

new: create and copy instances

scalar: get and set scalar values in each instance

array: get and set values stored in an array referred to in each instance

hash: get and set values in a hash referred to in each instance

Basic::Array (Instances)
Methods for manipulating positional values in arrays. See Class::MakeMethods::Basic::Array for details.

new: create and copy instances

scalar: get and set scalar values in each instance

array: get and set values stored in an array referred to in each instance

hash: get and set values in a hash referred to in each instance

Basic::Global (Global)
Global methods are not instance-dependent; calling them by class name or from any instance or subclass will consistently access the same value. See Class::MakeMethods::Basic::Global for details.

scalar: get and set a global scalar value

array: get and set values in a global array

hash: get and set values in a global hash

STANDARD CLASSES

Standard::Hash (Instances)
Methods for objects based on blessed hashes. See Class::MakeMethods::Standard::Hash for details.

new: create and copy instances

scalar: get and set scalar values in each instance

array: get and set values stored in an array referred to in each instance

hash: get and set values in a hash referred to in each instance

object: access an object referred to by each instance

Standard::Array (Instances)
Methods for manipulating positional values in arrays. See Class::MakeMethods::Standard::Array for details.

new: create and copy instances

scalar: get and set scalar values in each instance

array: get and set values stored in an array referred to in each instance

hash: get and set values in a hash referred to in each instance

object: access an object referred to by each instance

Standard::Global (Global)
Methods for manipulating global data. See Class::MakeMethods::Standard::Global for details.

scalar: get and set global scalar

array: get and set values stored in a global array

hash: get and set values in a global hash

object: global access to an object ref

Standard::Inheritable (Any)
Methods for manipulating data which may be overridden per class or instance. Uses external data storage, so it works with objects of any underlying data type. See Class::MakeMethods::Standard::Inheritable for details.

scalar: get and set scalar values for each instance or class

COMPOSITE CLASSES

Composite::Hash (Instances)
Methods for objects based on blessed hashes. See Class::MakeMethods::Composite::Hash for details.

new: create and copy instances

scalar: get and set scalar values in each instance

array: get and set values stored in an array referred to in each instance

hash: get and set values in a hash referred to in each instance

object: access an object referred to by each instance

Composite::Array (Instances)
Methods for manipulating positional values in arrays. See Class::MakeMethods::Composite::Array for details.

new: create and copy instances

scalar: get and set scalar values in each instance

array: get and set values stored in an array referred to in each instance

hash: get and set values in a hash referred to in each instance

object: access an object referred to by each instance

Composite::Global (Global)
Methods for manipulating global data. See Class::MakeMethods::Composite::Global for details.

scalar: get and set global scalar

array: get and set values stored in a global array

hash: get and set values in a global hash

object: global access to an object ref

Composite::Inheritable (Any)
Methods for manipulating data which may be overridden per class or instance. Uses external data storage, so it works with objects of any underlying data type. See Class::MakeMethods::Composite::Inheritable for details.

scalar: get and set scalar values for each instance or class

hook: create a subroutine intended to have operations added to it

Composite::Universal (Any)
Methods for padding pre- and post-conditions to any class. See Class::MakeMethods::Composite::Universal for details.

patch: add pre and post operations to an existing subroutine

TEMPLATE CLASSES

Template::Universal (Any)
Meta-methods for any type of object. See Class::MakeMethods::Template::Universal.

no_op - a method with an empty body

croak - a method which will croak if called

method_init - calls other methods from a list of method name => argument pairs

forward_methods - delegates to an object provided by another method

Template::Ref (Any Instance)
Methods for deep copies and comparisons. See Class::MakeMethods::Template::Ref.

clone: make a deep copy of an object instance

prototype: make new objects by cloning a typical instance

compare: compare one object to another

Template::Generic (Abstract)
The remaining subclasses inherit a similar collection of templates from Template::Generic, and provide a different type of scoping or binding for the functionality defined by the Generic template. See Class::MakeMethods::Template::Generic for details.

Template::Hash (Instances)
The most commonly used implementation, for objects based on blessed hashes. See Class::MakeMethods::Template::Hash.

new: create and copy instances

scalar: get and set scalar values in each instance

string: get and set string values in each instance

number: get and set numeric values in each instance

boolean: get and set boolean values in each instance

bits: get and set boolean values stored in a single value in each instance

array: get and set values stored in an array referred to in each instance

struct - methods for accessing values which are stored by position in an array

hash: get and set values in a hash referred to in each instance

tiedhash: get and set values in a tied hash referred to in each instance

hash_of_arrays: for references to hashes of arrays contained in each instance

object: set or access a reference to an object contained in each instance

array_of_objects: manipulate an array of object references within in each instance

code: set or call a function reference contained in each instance

Template::Array (Instances)
Methods for manipulating positional values in arrays. See Class::MakeMethods::Template::Array.

new: create and copy array instances

scalar: get and set scalar values in a given array position

string: get and set string values in a given array position

number: get and set numeric values in a given array position

boolean: get and set boolean values in a given array position

builtin_isa: generates a wrapper around some builtin function, cacheing the results in the object and providing a by-name interface

Template::Scalar (Instances)
For objects based on blessed scalars. See Class::MakeMethods::Template::Scalar.

Note that these objects can generally only have one value accessor method, as all such accessors will refer to the same value.

new: create and copy instances

scalar: get and set scalar values in each instance

string: get and set a string value in each instance

number: get and set a numeric value in each instance

boolean: get and set a boolean value in each instance

bits: get and set boolean values stored in a single value in each instance

code: set or call a function reference contained in each instance

Template::InsideOut (Instances)
Stores values for objects in an external location hashed by identity. See Class::MakeMethods::Template::InsideOut.

Note that while the below constructor creates and returns scalar references, accessor methods can be created with this implementation for use with any type of object.

new: create and copy instances

scalar: get and set scalar values associated with each instance

string: get and set string values associated with each instance

string_index: get and set string values associated with each instance, and maintain an index of instances by value

number: get and set numeric values associated with each instance

boolean: get and set boolean values associated with each instance

boolean_index: get and set boolean values associated with each instance, and maintain a list of items which have the flag set

bits: get and set boolean values stored in a single value associated with each instance

array: get and set values stored in an array associated with each instance

hash: get and set values in a hash associated with each instance

code: set or call a function reference associated with each instance

Template::Global (Global)
Global methods are not instance-dependent; calling them by class name or from any instance will consistently access the same value. See Class::MakeMethods::Template::Static.

scalar: get and set a global scalar value

string: get and set a global string value

number: get and set a global number value

boolean: get and set a global boolean value

array: get and set values in a global array

hash: get and set values in a global hash

tiedhash: get and set values in a global tied hash

hash_of_arrays: get and set values in a global hash of arrays

object: set and access a global reference to an object

instance: set and access a global reference to an object of the declaring class

code: set and access a global reference to a subroutine.

Template::PackageVar (Global)
PackageVar methods access a variable in the declaring package. Thus, they have the same effect as Static methods, while keeping their value accessible via the symbol table. See Class::MakeMethods::Template::PackageVar.

scalar: get and set a global scalar value

string: get and set a global string value

number: get and set a global number value

boolean: get and set a global boolean value

array: get and set values in a global array

hash: get and set values in a global hash

Template::Class (Global)
Class methods are similar to Static methods, except that each subclass and its instances will access a distinct value. See Class::MakeMethods::Template::Class.

scalar: get and set a class-specific scalar value

string: get and set a class-specific string value

number: get and set a class-specific number value

boolean: get and set a class-specific boolean value

array: get and set values in a class-specific array

hash: get and set values in a class-specific hash

Template::ClassVar (Global)
ClassVar methods access a variable in the package on which they are called. Thus, they have the same effect as Class methods, while keeping their value accessible via the symbol table, like PackageVar. See Class::MakeMethods::Template::ClassVar.

scalar: get and set a class-specific scalar value

string: get and set a class-specific string value

number: get and set a class-specific number value

boolean: get and set a class-specific boolean value

array: get and set values in a class-specific array

hash: get and set values in a class-specific hash

Template::ClassInherit (Global)
ClassInherit methods are an intermediate point between Static and Class methods; subclasses inherit their superclass’s value until they set their own value, after which they become distinct. See Class::MakeMethods::Template::ClassInherit.

scalar: get and set an inheritable class-specific scalar value

string: get and set an inheritable class-specific string value

number: get and set an inheritable class-specific number value

boolean: get and set an inheritable class-specific boolean value

array: get and set values in an inheritable class-specific array

hash: get and set values in an inheritable class-specific hash

Template::Inheritable (Any)
Methods for manipulating data which may be overridden per class or instance. Uses external data storage, so it works with objects of any underlying data type. See Class::MakeMethods::Template::Inheritable for details.

scalar: get and set scalar values for each instance or class

string: get and set string values for each instance or class

number: get and set numeric values for each instance or class

boolean: get and set boolean values for each instance or class

hash: get and set values in a hash referred to in each instance

SEE ALSO

See Class::MakeMethods for general information about this distribution.

pdf