Index: xotcl/library/patterns/adapter.xotcl =================================================================== diff -u -r5ce5a10c82bc948f50fc4542f844dcd50de1eae3 -r435b41481fb51bf000ebe736d8574fefbeec1710 --- xotcl/library/patterns/adapter.xotcl (.../adapter.xotcl) (revision 5ce5a10c82bc948f50fc4542f844dcd50de1eae3) +++ xotcl/library/patterns/adapter.xotcl (.../adapter.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) @@ -1,33 +1,44 @@ -# $Id: adapter.xotcl,v 1.2 2004/07/03 21:19:39 neumann Exp $ +# $Id: adapter.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ + package provide xotcl::pattern::adapter 0.9 -Class Adapter -superclass Class +package require XOTcl -@ @File { - description { - Simple adapter pattern meta-class taken from the paper - 'Filters as a Language Support for Design Patterns in - Object-Oriented Scripting Languages'. - } -} +namespace eval ::xotcl::pattern::adapter { + namespace import ::xotcl::* -Adapter instproc adapterFilter args { - set r [self calledproc] - my instvar specificRequest adaptee \ - [list specificRequest($r) sr] - if {[info exists sr]} { - return [eval $adaptee $sr $args] + Class Adapter -superclass Class + + @ @File { + description { + Simple adapter pattern meta-class taken from the paper + 'Filters as a Language Support for Design Patterns in + Object-Oriented Scripting Languages'. + } } - next -} -Adapter instproc init args { - my instfilter add adapterFilter - next - my instproc setRequest {r sr} { - my set specificRequest($r) $sr + Adapter instproc adapterFilter args { + set r [self calledproc] + my instvar specificRequest adaptee \ + [list specificRequest($r) sr] + if {[info exists sr]} { + return [eval $adaptee $sr $args] + } + next } - my instproc setAdaptee {a} { - my set adaptee $a + + Adapter instproc init args { + my instfilter add adapterFilter + next + my instproc setRequest {r sr} { + my set specificRequest($r) $sr + } + my instproc setAdaptee {a} { + my set adaptee $a + } } + + namespace export Adapter } + +namespace import ::xotcl::pattern::adapter::*