<html><head><title>VCP::Filter - A base class for filters</title></head><body><h1><a name="NAME">NAME </a></h1><p>VCP::Filter - A base class for filters <p><hr><h1><a name="SYNOPSIS">SYNOPSIS </a></h1><pre> use VCP::Filter; @ISA = qw( VCP::Filter ); ... </pre><p><hr><h1><a name="DESCRIPTION">DESCRIPTION </a></h1><p>A VPC::Filter is a VCP::Plugin that is placed between the source and the destination and allows the stream of revisions to be altered. <p>For instance, the Map: option in vcp files is implemented by VCP::Filter::Map <p>By default a filter is a pass-through. <p><hr><h1><a name="SUBCLASSING">SUBCLASSING </a></h1><p>This class uses the fields pragma, so you'll need to use base and possibly fields in any subclasses. <dl><dt><a name="parse_rules_list_"><strong><p>parse_rules_list </strong></a><dd>Used in VCP::Filter::*map and VCP::Filter::*edit to parse lists of rules where every rule is a set of N "words". The value of N is computed from the number of labels passed in and the labels are used when printing an error message: <pre> @rules = $self->parse_rules( $options, "Pattern", "Replacement" ); </pre><dt><a name="filter_name_"><strong><p>filter_name </strong></a><dd>Returns the StudlyCaps version of the filter name. By default, assumes a single work name and uses ucfirst on it. Filters like StringEdit should overload this to be more creative and typgraphically appealing (heh). <dt><a name="sort_keys_"><strong><p>sort_keys </strong></a><pre> my @output_sort_order = $filter->sort_keys( @input_sort_order ); </pre><dd>Accepts a list of sort keys from the upstream filter and returns a list of sort keys representing the order that records will be emitted in. <p>This is a pass-through by default, but VCP::Filter::sort and VCP::Filter::changesets return appropriate values. <dt><a name="config_file_section_as_string_"><strong><p>config_file_section_as_string </strong></a><br><strong>last_rev_in_filebranch </strong><dd>(passthru; see <a href="VCP/Dest.html">VCP::Dest</a>) <dt><a name="backfill_"><strong><p>backfill </strong></a><dd>(passthru; see <a href="VCP/Dest.html">VCP::Dest</a>) <dt><a name="handle_header_"><strong><p>handle_header </strong></a><dd>(passthru) <dt><a name="rev_count_"><strong><p>rev_count </strong></a><dd>passthru, see VCP::Dest. <dt><a name="handle_rev_"><strong><p>handle_rev </strong></a><dd>passthru, see VCP::Dest. <dt><a name="skip_rev_"><strong><p>skip_rev </strong></a><dd>passthru, see VCP::Dest <dt><a name="handle_footer_"><strong><p>handle_footer </strong></a><dd>passthru, see VCP::Dest </dl><p><hr><h1><a name="COPYRIGHT">COPYRIGHT </a></h1><p>Copyright 2000, Perforce Software, Inc. All Rights Reserved. <p>This module and the VCP package are licensed according to the terms given in the file LICENSE accompanying this distribution, a copy of which is included in <a href="vcp.html">vcp</a>. <p><hr><h1><a name="AUTHOR">AUTHOR </a></h1><p>Barrie Slaymaker <barries@slaysys.com> <p><hr><i><font size="-1">Last updated: Thu Jul 15 01:02:41 2004</font></i></body></html>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 6119 | Dimitry Andric | Create branch from //public/revml, changelist 5088, since I originally started making changes to this version. | ||
//guest/perforce_software/revml/product/release/0.90/html/VCP/Filter.html | |||||
#1 | 4344 | alan_teague |
Revised productization files updating to latest perl modules and normalizing scripts to work on both linux and bsd platforms. |