/usr/share/tcltk/xotcl1.6.7-patterns/manager.xotcl is in xotcl 1.6.7-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | # $Id: manager.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $
package provide xotcl::pattern::manager 0.8
package require XOTcl
namespace eval ::xotcl::pattern::manager {
namespace import ::xotcl::*
#
# a simle manager pattern following buschmann (164)
# based on dynamic object aggregation and using dynamic code
# for supplier creation (instead of loading)
#
# it shares the suppliers !
#
#
# abstract supplier, init starts dynamic code creation
#
Class Supplier
Supplier abstract instproc init args
Supplier abstract instproc m args
Class Manager -parameter {
{supplierClass Supplier}
}
Manager instproc getSupplier {name} {
if {[my info children [namespace tail $name]] != ""} {
return [self]::[namespace tail $name]
} else {
return [my [my supplierClass] [namespace tail $name]]
}
}
namespace export Supplier Manager
}
namespace import ::xotcl::pattern::manager::*
|