package TextClass;

# ----------------------------------------------------------------------
# NAME         : TextFilter
# CALLS        : SUPER 
# NOTES        : OVERRIDE the TextClass::TextFilter
# ----------------------------------------------------------------------
sub TextFilter
{
    my $self = shift;
    my ( $sRef ) = @_;

    # Make the author BIG, BIG, BIG
    $$sRef =~ s,(Author\:.*?),<font size=10>$1</font>,gs;

    return $results = $$sRef;
}

# Make this code available in ONE PLACE to subclasses that need Greek
# character entities filtered
sub GreekEntityFilter
{
    my $self = shift;
    my $sRef = shift;

    &DlpsUtils::FilterGreekEntities( $sRef );
}


package SomeSubclass;

use TextClass ();

use vars qw( @ISA );
# Subclass of TextClass.pm module
@ISA = qw( TextClass );


sub TextFilter
{
    my $self = shift;
    my ( $sRef ) = @_;

    $self->GreekEntityFilter( $sRef );

    my $results = $self->SUPER::TextFilter( $sRef );

    return $results;
}

1;



# **************************************************
# **************************************************
# **************************************************
#
# In the file text-idx (main program
#
# **************************************************

#!/l/local/bin/perl

use TextClass;
use SomeSubclass;  # if compile time binding


require "SomeSubclass.pm"; # if run time binding


my $subclassObject = SomeSubclass->new( $collid );

my $text = 'Author: Phil Farber';


$subclassObject->TextFilter( \$text );

exit;