Name

Bric::Util::Grp::Parts::Member - A Class for associating Members of a Group with attribute with in the group

Synopsis

# Constructors.
my $member = Bric::Util::Grp::Parts::Member->new( $initial_state );
$member = Bric::Util::Grp::Parts::Member->lookup( { id => $id} );
my ($member_list||@members) = Bric::Util::Grp::Parts::Member->list($params);
my $member_href = Bric::Util::Grp::Parts::Member->href($params);

# Class methods.
($ids || @ids ) = Bric::Util::Grp::Parts::Member->list_ids({grp => $grp })

# Instances methods.
my $id = $member->get_id;
$member = $member->activate;
$member = $member->deactivate;

# Attribute methods.
$member = $member->set_attrs( [name=> $name,subsys=> $subsys,val => $val}]);
($val_list||@vals) = $member->get_attrs([ {name=> $name,subsys=> $subsys}]);

# Retrieve the underlying Bric object.
$object = $member->get_object;

Description

A Member is a container for an object and any properties that it may have with in the group it is associated with that it would not have by its self.

Interface

Constructors

$member = Bric::Util::Grp::Parts::Member->new( $initial_state )

This will create a new member object with the defined initial state

Supported Keys:

object_class_id
object_package
grp
active

Throws: NONE.

Side Effects: NONE.

Notes: NONE.

$member = Bric::Util::Grp::Parts::Member->lookup({ id => $id });

Looks up a member object for a given ID.

Throws: NONE.

Side Effects: NONE.

Notes: NONE.

($mbr_list||@mbrs) = Bric::Util::Grp::Parts::Member->list($params);

This will return a list or list ref of blessed Member objects that are a member of said a group. The $params hash reference supports the following keys:

grp

A Bric::Util::Grp object, the members of which are to be returned.

grp_package

The package name of a Bric::Util::Grp subclass, the members of which are to be returned.

object

A Bric object for which a list of group memberships will be returned.

object_package

The package name of a Bric object for which a list of group memberships will be returned. Use in combination with the object_id parameter.

object_id

The ID of a Bric object for which a list of group memberships will be returned. Use in combination with the object_package parameter.

Throws: NONE.

Side Effects: NONE.

Notes: NONE.

my $memb_href = Bric::Util::Grp::Parts::Member->href($params);

Returns an anonymous hash of group members. The hash values are Bric::Util::Grp::Parts::Member objects. Takes the same arguments as the list() method, although either the grp or grp_package parameter is required. If the group class method get_object_class_id() returns a value, then the hash keys will be the IDs of the objecs represented by the members. Otherwise, the keys will be the IDs of the member objects themselves.

Throws: NONE.

Side Effects: NONE.

Notes: NONE.

Destructors

$contrib->DESTROY

Dummy method to prevent wasting time trying to AUTOLOAD DESTROY.

Throws: NONE.

Side Effects: NONE.

Notes: NONE.

Public Class Methods

($ids||@ids ) = Bric::Util::Grp::Parts::Member->list_ids($params);

Return a list or anonymous array of Member object ids. The supported keys in the $params hash reference are the same as for the list() method.

Throws: NONE.

Side Effects: NONE.

Notes: NONE.

$meths = Bric::Util::Grp::Parts::Member->my_meths
(@meths || $meths_aref) = Bric::Util::Grp::Parts::Member->my_meths(TRUE)
my (@meths || $meths_aref) = Bric::Util::Grp->my_meths(0, TRUE)

Returns an anonymous hash of introspection data for this object. If called with a true argument, it will return an ordered list or anonymous array of introspection data. If a second true argument is passed instead of a first, then a list or anonymous array of introspection data will be returned for properties that uniquely identify an object (excluding id, which is assumed).

Each hash key is the name of a property or attribute of the object. The value for a hash key is another anonymous hash containing the following keys:

name

The name of the property or attribute. Is the same as the hash key when an anonymous hash is returned.

disp

The display name of the property or attribute.

get_meth

A reference to the method that will retrieve the value of the property or attribute.

get_args

An anonymous array of arguments to pass to a call to get_meth in order to retrieve the value of the property or attribute.

set_meth

A reference to the method that will set the value of the property or attribute.

set_args

An anonymous array of arguments to pass to a call to set_meth in order to set the value of the property or attribute.

type

The type of value the property or attribute contains. There are only three types:

short
date
blob
len

If the value is a 'short' value, this hash key contains the length of the field.

search

The property is searchable via the list() and list_ids() methods.

req

The property or attribute is required.

props

An anonymous hash of properties used to display the property or attribute. Possible keys include:

type

The display field type. Possible values are

text
textarea
password
hidden
radio
checkbox
select
length

The Length, in letters, to display a text or password field.

maxlength

The maximum length of the property or value - usually defined by the SQL DDL.

rows

The number of rows to format in a textarea field.

cols

The number of columns to format in a textarea field.

vals

An anonymous hash of key/value pairs reprsenting the values and display names to use in a select list.

Throws: NONE.

Side Effects: NONE.

Notes: NONE.

(@ids || $ids) = Bric::Util::Grp::Parts::Member->get_all_object_ids($grp_id)

Returns a list of the object ids that this object is a member of

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

Public Instance Methods

$package = $member->get_object_package();

returns the package of the object that is the member

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$object = $member->get_object()

Return the object that this member reflects

Notes:

The object class isn't loaded by the group class, so when using the Bric API outside of Bricolage, you need to require the object class on the fly; for example:

my @members = $grp->get_members();
foreach my $m (@members) {
    my $pkg = $m->get_object_package();
    eval "require $pkg";
    my $object = $m->get_object();
}

Throws: NONE

Side Effects: NONE

$member = $member->set_attr($param)

Sets an individual attribute on this member

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$member = $member->delete_attr();

Deletes attributes from this member

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$member = $member->set_attrs( [ $param] )

Takes a list of attributes and sets them upon the member object.

Throws:

NONE

Side Effects:

Sets a value on the attribute object

Notes:

NONE

(@subsys, $subsys) = $mbr->subsys_names()

returns a list of the subsystems in use

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$val = $mbr->get_attr({ name => $attr })

Returns a single attribute for the member.

Throws:

NONE

Side Effects:

Returns value from the attribute object

Notes:

NONE

($attrs || @attrs) = $member->get_attrs( [ $param ])

Returns the attributes defined for this member object.

Throws:

NONE

Side Effects:

Returns value from the attribute object

Notes:

NONE

$member = $member->set_meta($param)

Sets meta information on the attributes

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$member = $member->delete_meta($param)

Deletes meta information for this member

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$meta = $member->get_meta($param)

Returns the meta information

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$all = $member->all_for_subsys( $subsys )

Returns a hash ref of all

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$attrs = $member->get_attr_hash( $param )

returns a hash ref of the attrs

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$id = $member->get_id()

This will return the id for the object

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$member = $member->activate()

Activated a member object that has been deactivated

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$member = $member->deactivate()

Make this member object inactive

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

(undef || 1) $member->is_active()

This will return undef if the member has been deactivated and one otherwise.

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$member = $member->remove()

This will delete the member from the database (as opposed to deactivating)

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$member = $member->save()

Saves changes to the data base

Throws:

Side Effects:

NONE

Notes:

NONE

Private

Private Class Methods

$results = _do_list($criteria);

Executes the query for the list constructors

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

Private Instance Methods

$class_id = $self->_get_class_id($package)

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$table_name = $self->_get_map_table_name();

Will return the proper mapping table name

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$package = $self->_get_package($class_id)

Returns the package name for a given class id

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$group = $self->_get_group_obj()

Returns the group that this is a member of

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$self = $self->_subsys_names()

Returns a list or listref of subsys names

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$self = $self->_set_attr( $param)

Will set an attribute on this member

Throws:

NONE

Side Effects

NONE

Notes:

NONE

$attr = $self->_get_attr($param, $group)

check for attributes on the member, will check the group and the group's parents if the flags are passed

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$self = $self->_delete_meta()

Deletes meta information from the attribute object or the cache

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$self = $self->_delete_attr($param);

Deletes attributes from the attribute object or its cache

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$attr_hash = $self->_get_attr_hash( $param, $group)

Returns a hash of the attributes that match the parameters. It will also return default values from the group if the $group argument is passed.

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$self = $self->_set_meta($param)

Sets meta information on the member attributes

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$meta = $self->_get_meta($param, $group, $group_parents)

Returns meta information for a given attribute. Will check the group and the groups parents for defaults if the flags have been passed.

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$attr_obj = $self->_get_attr_obj()

Returns the correct attribute object for this member

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$self = $self->_sync_attributes()

Called by save this preforms all the updates for the attribute object

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$self = $self->_do_delete

Handles the sql to prefore a delete from the database

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

$self = $self->_do_update()

Preforms an update to the database

Throws:

NONE

Side Effects:

NONE

Side Effects:

NONE

$self = $self->_do_insert()

Preforms the sql for an insert into the member tables

Throws:

NONE

Side Effects:

NONE

Notes:

NONE

Notes

NONE

Author

michael soderstrom ( miraso@pacbell.net )

See Also

Bric, Bric::Util::Grp, Bric::Util::Attribute