NAME

Net::FluidDB::ACL - A common ancestor for classes that provide an ACL

SYNOPSIS

$permission->policy('open');
my $exceptions = $permission->exceptions;

$policy->is_open;
$policy->is_closed;
$policy->has_exceptions;

DESCRIPTION

Net::FluidDB::ACL is a parent class of Net::FluidDB::Policy and Net::FluidDB::Permission.

You don't usually need this class, only the interface its children inherit.

USAGE

Instance Methods

$acl->policy
$acl->policy('open'|'closed')

Sets/gets the policy, which must be either 'open' or 'closed'. Note this is not an instance of Net::FluidDB::Policy (the name clash is inherited from the API).

$acl->exceptions
$acl->exceptions($exceptions)

Gets/sets the exception list of this ACL, which is a possibly empty arrayref of usernames. In FluidDB this is a set, so don't rely on the order of the elements.

$acl->is_open

Checks whether the ACL is open.

$acl->is_closed

Checks whether the ACL is closed.

$acl->has_exceptions

Checks whether the ACL has any exception.

AUTHOR

Xavier Noria (FXN), <fxn@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2009 Xavier Noria

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.