Revision: | 1.2 |
Committed: | Thu Jan 20 18:18:45 2000 UTC (25 years, 3 months ago) by williamc |
Content type: | text/plain |
Branch: | MAIN |
CVS Tags: | v102p1, V1_0_1, V1_0_0, V1_pre0, SCRAM_V1, SCRAMV1_IMPORT, V0_19_7, V0_19_6, V0_19_6p1, V0_19_5, SFATEST, V0_19_4, V0_19_4_pre3, V0_19_4_pre2, V0_19_4_pre1, V0_19_3, V0_19_2, V0_19_1, V0_19_0, V0_18_5, V0_18_4, V_18_3_TEST, VO_18_3, V0_18_2, V0_18_1, ProtoEnd |
Branch point for: | V1_pre1, SCRAM_V1_BRANCH, V0_19_4_B |
Changes since 1.1: | +9 -0 lines |
Log Message: | HIP additions |
# | Content |
---|---|
1 | # |
2 | # ActiveConfig.pm |
3 | # |
4 | # Originally Written by Christopher Williams |
5 | # |
6 | # Description |
7 | # |
8 | # Interface |
9 | # --------- |
10 | # new(directory) : A new ActiveConfig object |
11 | # cache() : Return the cache |
12 | # store(object,@keys) : |
13 | # find (@keys) : |
14 | # basedoc() : set/return the base doc |
15 | |
16 | package ActiveDoc::ActiveConfig; |
17 | require 5.004; |
18 | use URL::URLcache; |
19 | use ObjectUtilities::ObjectStore; |
20 | |
21 | sub new { |
22 | my $class=shift; |
23 | $self={}; |
24 | bless $self, $class; |
25 | $self->init(@_); |
26 | return $self; |
27 | } |
28 | |
29 | sub init { |
30 | my $self=shift; |
31 | my $dir=shift; |
32 | |
33 | $self->{objectstore}=ObjectUtilities::ObjectStore-> |
34 | new($dir."/ObjectStore", $self); |
35 | $self->{cache}=URL::URLcache->new($dir."/cache"); |
36 | } |
37 | |
38 | sub basedoc { |
39 | my $self=shift; |
40 | |
41 | @_?$self->{basedoc}=shift |
42 | :$self->{basedoc}; |
43 | } |
44 | |
45 | sub cache { |
46 | my $self=shift; |
47 | return $self->{cache}; |
48 | } |
49 | |
50 | sub AUTOLOAD { # Call any method in the ObjectStore directly |
51 | my $self=shift; |
52 | my $call; |
53 | |
54 | # dont propogate a destroy method |
55 | return if $AUTOLOAD=~/::DESTROY$/; |
56 | |
57 | ($call=$AUTOLOAD)=~s/^.*:://; |
58 | # print "Calling $call from ".$self->{objectstore}."\n"; |
59 | return $self->{objectstore}->$call(@_); |
60 | } |