ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/ActiveDoc/Checker.pm
(Generate patch)

Comparing COMP/SCRAM/src/ActiveDoc/Checker.pm (file contents):
Revision 1.1 by williamc, Fri Dec 17 08:36:22 1999 UTC vs.
Revision 1.2 by williamc, Wed Jan 5 16:03:24 2000 UTC

# Line 1 | Line 1
1   #
2 < # Checker.pm
2 > # Checker.pm ---- INTERFACE CLASS
3   #
4   # Originally Written by Christopher Williams
5   #
# Line 10 | Line 10
10   # Interface
11   # ---------
12   # new()         : A new Checker object
13 < # check(param)  : Run a check on the given value
13 > # check(param)  : Run a check on the given value  - return (1/0,§messageobj)
14   # addchecker(checker)   : Add a checker object to be run in additon
15 + # consider(value)      : check the value and analyse the input. Returns
16 + #                         (check_retvalue,messageobj,@list_of_analysis)
17  
18 < package Checker;
18 > package ActiveDoc::Checker;
19   require 5.004;
20 + use Utilities::Message;
21  
22   sub new {
23          my $class=shift;
# Line 23 | Line 26 | sub new {
26          return $self;
27   }
28  
29 + #
30 + # Simply delegate checks to other checkers. Override to do real work
31 + #
32   sub check {
33          my $self=shift;
34          my $checkvalue=shift;
35 +        my $message=Utilities::Message->new();
36 +
37 +        return ($self->runchecks($checkvalue,$message), $message);
38 + }
39 +
40 + #
41 + # Basic consider routine - no analysis performed - just a simple check
42 + #
43 + sub consider {
44 +        my $self=shift;
45 +        my $value=shift;
46  
47 <        $self->runchecks();
47 >        return ($self->check($value));
48   }
49  
50   sub runchecks {
51          my $self=shift;
52          my $checkvalue=shift;
53 +        my $messageobj=shift;
54 +        my $ret=0;
55  
56 +        my ($retval,@message);
57          foreach $check ( @{$self->{checkers}} ) {
58 <          $check->check($checkvalue);
58 >          ($retval,$message)=$check->check($checkvalue);
59 >          $ret=$retval | $ret;
60 >          $messageobj->copy($message); #copy messages into current message
61 >          undef $message; # dont want old messages piling up
62 >          $messageobj->setlevel();
63          }
64 +        return $ret;
65   }
66  
67   sub addchecker {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines