File Coverage

blib/lib/Net/Whois/Object/FilterSet.pm
Criterion Covered Total %
statement 16 17 94.1
branch 1 2 50.0
condition 2 3 66.6
subroutine 5 5 100.0
pod 2 2 100.0
total 26 29 89.6


line stmt bran cond sub pod time code
1             package Net::Whois::Object::FilterSet;
2              
3 1     1   76489 use strict;
  1         10  
  1         30  
4 1     1   5 use warnings;
  1         2  
  1         25  
5 1     1   5 use base qw/Net::Whois::Object/;
  1         3  
  1         583  
6              
7             #######################################################################################
8             # The following lines where auto-generated by 'perl whois_to_attribute.pl FilterSet'
9              
10             # % This is the RIPE Database query service.
11             # % The objects are in RPSL format.
12             # %
13             # % The RIPE Database is subject to Terms and Conditions.
14             # % See http://www.ripe.net/db/support/db-terms-conditions.pdf
15             #
16             # filter-set: [mandatory] [single] [primary/lookup key]
17             # descr: [optional] [multiple] [ ]
18             # filter: [optional] [single] [ ]
19             # mp-filter: [optional] [single] [ ]
20             # remarks: [optional] [multiple] [ ]
21             # org: [optional] [multiple] [inverse key]
22             # tech-c: [mandatory] [multiple] [inverse key]
23             # admin-c: [mandatory] [multiple] [inverse key]
24             # notify: [optional] [multiple] [inverse key]
25             # mnt-by: [mandatory] [multiple] [inverse key]
26             # mnt-lower: [optional] [multiple] [inverse key]
27             # created: [generated] [single] [ ]
28             # last-modified: [generated] [single] [ ]
29             # source: [mandatory] [single] [ ]
30             #
31             # % This query was served by the RIPE Database Query Service version 1.99 (BLAARKOP)
32             #
33             #
34             __PACKAGE__->attributes( 'primary', [ 'filter_set' ] );
35             __PACKAGE__->attributes( 'mandatory', [ 'filter_set', 'tech_c', 'admin_c', 'mnt_by', 'source' ] );
36             __PACKAGE__->attributes( 'optional', [ 'descr', 'filter', 'mp_filter', 'remarks', 'org', 'notify', 'mnt_lower', 'created', 'last_modified' ] );
37             __PACKAGE__->attributes( 'single', [ 'filter_set', 'filter', 'mp_filter', 'created', 'last_modified', 'source' ] );
38             __PACKAGE__->attributes( 'multiple', [ 'descr', 'remarks', 'org', 'tech_c', 'admin_c', 'notify', 'mnt_by', 'mnt_lower' ] );
39              
40             # End of auto-generated lines
41             #######################################################################################
42              
43             =head1 NAME
44              
45             Net::Whois::Object::FilterSet - an object representation of a RPSL FilterSet block
46              
47             =head1 DESCRIPTION
48              
49             A FilterSet object defines a set of routes that match the criteria that you
50             specify in your 'filter', in other words it filters out routes that you do
51             not want to see.
52              
53             =head1 METHODS
54              
55             =head2 new ( @options )
56              
57             Constructor for the Net::Whois::Object::FilterSet class
58              
59             =cut
60              
61             sub new {
62 1     1 1 5 my ( $class, @options ) = @_;
63              
64 1         3 my $self = bless {}, $class;
65 1         10 $self->_init(@options);
66              
67 1         3 return $self;
68             }
69              
70             =head2 B
71              
72             Accessor to the filter_set attribute.
73             Accepts an optional filter_set value, always return the current filter_set value.
74              
75             The filter_set attribute defines the name of the filter. It is an RPSL
76             name that starts with "fltr-".
77              
78             The name of a filter_set object can be hierarchical:
79              
80             A hierarchical filter_set name is a sequence of filter_set names and AS
81             Numbers separated by colons. At least one component of the name must be an
82             actual filter_set name (i.e. start with "fltr-"). All the set name
83             components of a hierarchical filter-name have to be filter_set names.
84              
85             =cut
86              
87             sub filter_set {
88 5     5 1 14 my ( $self, $filter_set ) = @_;
89 5 50 66     41 if ( $filter_set and $filter_set !~ /^fltr-/i ) {
90 0         0 warn "Incorrect FilterSet's name ($filter_set) : Should start with 'FLTR-'";
91             }
92              
93 5         17 return $self->_single_attribute_setget( 'filter_set', $filter_set );
94             }
95              
96             =head2 B
97              
98             Accessor to the descr attribute.
99             Accepts an optional descr value to be added to the descr array,
100             always return the current descr array.
101              
102             A short description related to the object's purpose.
103              
104             =head2 B
105              
106             Accessor to the filter attribute.
107             Accepts an optional filter value, always return the current filter.
108              
109             The filter attribute defines the policy filter of the set.
110              
111             A policy filter is a logical expression which, when applied to a
112             set of routes, returns a subset of these routes, the ones that
113             you have said you want to see.
114              
115             =head2 B
116              
117             Accessor to the mp_filter attribute.
118             Accepts an optional mp_filter value, always return the current mp_filter.
119              
120             Logical expression which when applied to a set of IPv4 or IPv6 routes returns
121             a subset of these routes.
122              
123             =head2 B
124              
125             Accessor to the remarks attribute.
126             Accepts an optional remark to be added to the remarks array,
127             always return the current remarks array.
128              
129             General remarks. May include a URL or email address.
130              
131             =head2 B
132              
133             Accessor to the tech_c attribute.
134             Accepts an optional contact to be added to the tech_c array,
135             always return the current tech_c array.
136              
137             The NIC-handle of a technical contact 'person' or 'role' object. As more than
138             one person often fulfills a role function, there may be more than one tech_c
139             listed.
140              
141             A technical contact (tech_c) must be a person responsible for the
142             day-to-day operation of the network, but does not need to be
143             physically located at the site of the network.
144              
145             =head2 B
146              
147             Accessor to the admin_c attribute.
148             Accepts an optional contact to be added to the admin_c array,
149             always return the current admin_c array.
150              
151             The NIC-handle of an on-site contact 'person' object. As more than one person
152             often fulfills a role function, there may be more than one admin_c listed.
153              
154             An administrative contact (admin_c) must be someone who is physically
155             located at the site of the network.
156              
157             =head2 B
158              
159             Accessor to the org attribute.
160             Accepts an optional org value to be added to the org array,
161             always return the current org array.
162              
163             The organisation responsible for this FilterSet object.
164              
165             =head2 B
166              
167             Accessor to the notify attribute.
168             Accepts an optional notify value to be added to the notify array,
169             always return the current notify array.
170              
171             The email address of who last updated the database object and the date it
172             occurred.
173              
174             Every time a change is made to a database object, this attribute will show
175             the email address of the person who made those changes.
176             Please use the address format specified in RFC 822 - Standard for
177             the Format of ARPA Internet Text Message and provide the date
178             format using one of the following two formats: YYYYMMDD or YYMMDD.
179              
180             =head2 B
181              
182             Accessor to the mnt_by attribute.
183             Accepts an optional mnt_by value to be added to the mnt_by array,
184             always return the current mnt_by array.
185              
186             Lists a registered 'mntner' used to authorize and authenticate changes to this
187             object.
188              
189             When the database details are protected by a Mntner object, then
190             only persons with access to the security information of that Mntner
191             object will be able to change details.
192              
193             =head2 B
194              
195             Accessor to the mnt_lower attribute.
196             Accepts an optional mnt_lower value to be added to the mnt_lower array,
197             always return the current mnt_lower array.
198              
199             Sometimes there is a hierarchy of maintainers. In these cases, mnt_lower is
200             used as well as mnt_by.
201              
202             =head2 B
203              
204             Accessor to the changed attribute.
205             Accepts an optional changed value to be added to the changed array,
206             always return the current changed array.
207              
208             The email address of who last updated the database object and the date it
209             occurred.
210              
211             Every time a change is made to a database object, this attribute will show
212             the email address of the person who made those changes.
213             Please use the address format specified in RFC 822 - Standard for
214             the Format of ARPA Internet Text Message and provide the date
215             format using one of the following two formats: YYYYMMDD or YYMMDD.
216              
217             =head2 B
218              
219             Accessor to the source attribute.
220             Accepts an optional source, always return the current source.
221              
222             The database where the object is registered.
223              
224             =cut
225              
226             1;