Firewall-Config-Element
view release on metacpan or search on metacpan
lib/Firewall/Config/Element/ProtocolGroup/Role.pm view on Meta::CPAN
package Firewall::Config::Element::ProtocolGroup::Role;
#------------------------------------------------------------------------------
# å è½½æ©å±æ¨¡å
#------------------------------------------------------------------------------
use Moose::Role;
#------------------------------------------------------------------------------
# å¼ç¨ Firewall::Config::Element::Role è§è²
#------------------------------------------------------------------------------
with 'Firewall::Config::Element::Role';
#------------------------------------------------------------------------------
# Firewall::Config::Element::ProtocolGroup::Role éç¨å±æ§
#------------------------------------------------------------------------------
has proGroupName => ( is => 'ro', isa => 'Str', required => 1, );
has proGroupMembers => (
is => 'ro',
does =>
'HashRef[ Firewall::Config::Element::Protocol::Role | Firewall::Config::Element::ProtocolGroup::Role | Undef ]',
default => sub { {} },
);
has protocols => ( is => 'ro', does => 'HashRef[Firewall::Config::Element::Protocol::Role]', default => sub { {} }, );
#------------------------------------------------------------------------------
# æ°å¢å议对象æåæ¹æ³
#------------------------------------------------------------------------------
sub addProGroupMember {
my ( $self, $proGroupMemberName, $obj ) = @_;
confess "ERROR: proGroupMemberName must defined" if not defined $proGroupMemberName;
unless ( not defined $obj
or $obj->does('Firewall::Config::Element::Protocol::Role')
or $obj->does('Firewall::Config::Element::ProtocolGroup::Role') )
{
confess
"ERROR: åæ° obj åªè½æ¯ Firewall::Config::Element::Protocol::Role or Firewall::Config::Element::ProtocolGroup::Role or Undef";
}
$self->{proGroupMembers}{$proGroupMemberName} = $obj;
if ( defined $obj ) {
if ( $obj->does('Firewall::Config::Element::Protocol::Role') ) {
$self->protocols->{$obj->protocol} = $obj;
}
elsif ( $obj->does('Firewall::Config::Element::ProtocolGroup::Role') ) {
for my $protocol ( keys %{$obj->protocols} ) {
$self->protocols->{$protocol} = $obj->protocols->{$protocol};
}
}
}
} ## end sub addProGroupMember
1;
( run in 0.489 second using v1.01-cache-2.11-cpan-39bf76dae61 )