OpenFrame::WebApp::Segment::Template - abstract class for getting Templates


OpenFrame-WebApp documentation Contained in the OpenFrame-WebApp distribution.

Index


Code Index:

NAME

Top

OpenFrame::WebApp::Segment::Template - abstract class for getting Templates from the store.

SYNOPSIS

Top

  # abstract class - cannot be used directly

  use base qw( OpenFrame::WebApp::Segment::Template );

  sub dispatch {
      ...
      my $template $self->get_template_from_store;
      ...
  }

DESCRIPTION

Top

The OpenFrame::WebApp::Segment::Template class provides a method for getting Template objects from the store.

This class inherits its interface from Pipeline::Segment. You must override dispatch() for it to do anything.

METHODS

Top

get_template_from_store

If the store is a Pipeline::Store::ISA, looks for a descendant of OpenFrame::WebApp::Template, otherwise looks for known OpenFrame::WebApp::Template->types().

AUTHOR

Top

Steve Purkis <spurkis@epn.nu>

COPYRIGHT

Top

SEE ALSO

Top

Pipeline::Segment, OpenFrame::WebApp::Template


OpenFrame-WebApp documentation Contained in the OpenFrame-WebApp distribution.
package OpenFrame::WebApp::Segment::Template;

use strict;
use warnings::register;

use OpenFrame::WebApp::Template;
use OpenFrame::WebApp::Error::Abstract;

our $VERSION = (split(/ /, '$Revision: 1.2 $'))[1];

use base qw( Pipeline::Segment );

## try various methods to find a template in the store
sub get_template_from_store {
    my $self = shift;
    my $template;

    if ($self->store->isa( 'Pipeline::Store::ISA' )) {
	$template = $self->store->get('OpenFrame::WebApp::Template');
    } else {
	foreach my $class (values %{ OpenFrame::WebApp::Template->types }) {
	    last if( $template = $self->store->get($class) );
	}
    }

    return $template;
}

1;

__END__