Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

aspect::pointcut::true(3pm) [debian man page]

Aspect::Pointcut::True(3pm)				User Contributed Perl Documentation			       Aspect::Pointcut::True(3pm)

NAME
Aspect::Pointcut::True - Pointcut that allows arbitrary Perl code SYNOPSIS
use Aspect; # High-level creation my $pointcut1 = true { rand() > 0.5 }; # Manual creation my $pointcut2 = Aspect::Pointcut::True->new( sub { rand() > 0.5 } ); DESCRIPTION
Because Aspect's weaving phase technically occurs at run-time (relative to the overall process) it does not need to be limit itself only to conditions that are fully describable at compile-time. Aspect::Pointcut::True allows you to take advantage of this to create your own custom run-time pointcut conditions, although for safety and purity reasons you are not permitted to create custom conditions that interact with the Aspect::Point object for the call. AUTHORS
Adam Kennedy <adamk@cpan.org> Marcel Gruenauer <marcel@cpan.org> Ran Eilam <eilara@cpan.org> COPYRIGHT
Copyright 2001 by Marcel Gruenauer Some parts copyright 2009 - 2012 Adam Kennedy. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-02-01 Aspect::Pointcut::True(3pm)

Check Out this Related Man Page

Aspect::Modular(3pm)					User Contributed Perl Documentation				      Aspect::Modular(3pm)

NAME
Aspect::Modular - First generation base class for reusable aspects SYNOPSIS
# Subclassing to create a reusable aspect package Aspect::Library::ConstructorTracer; use strict; use base 'Aspect::Modular'; use Aspect::Advice::After (); sub get_advice { my $self = shift; my $pointcut = shift; return Aspect::Advice::After->new( lexical => $self->lexical, pointcut => $pointcut, code => sub { print 'Created object: ' . shift->return_value . " "; }, ); } # Using the new aspect package main; use Aspect; # Print message when constructing new Person aspect ConstructorTracer => call 'Person::new'; DESCRIPTION
All reusable aspect inherit from this class. Such aspects are created in user code, using the "aspect()" sub exported by Aspect. You call "aspect()" with the class name of the reusable aspect (it must exist in the package "Aspect::Library"), and any parameters (pointcuts, class names, code to run, etc.) the specific aspect may require. The Wormhole aspect, for example, expects 2 pointcut specs for the wormhole source and target, while the Profiler aspect expects a pointcut object, to select the subs to be profiled. You create a reusable aspect by subclassing this class, and providing one template method: "get_advice()". It is called with all the parameters that were sent when user code created the aspect, and is expected to return Aspect::Advice object/s, that will be installed while the reusable aspect is still in scope. If the "aspect()" sub is called in void context, the reusable aspect is installed until class reloading or interpreter shutdown. Typical things a reusable aspect may want to do: o Install advice on pointcuts specified by the caller o Push (vs. OOP pull) subs and base classes into classes specified by the caller AUTHORS
Adam Kennedy <adamk@cpan.org> Marcel Gruenauer <marcel@cpan.org> Ran Eilam <eilara@cpan.org> COPYRIGHT
Copyright 2001 by Marcel Gruenauer Some parts copyright 2009 - 2012 Adam Kennedy. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-02-01 Aspect::Modular(3pm)
Man Page