diff options
Diffstat (limited to 'ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm')
-rw-r--r-- | ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm b/ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm new file mode 100644 index 00000000000..6f2834a8525 --- /dev/null +++ b/ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm @@ -0,0 +1,40 @@ +package ObjectGeneratorFactory; + +# ************************************************************ +# Description : Create ObjectGenerator objects. +# Author : Chad Elliott +# Create Date : 5/23/2003 +# ************************************************************ + +# ************************************************************ +# Pragmas +# ************************************************************ + +use strict; + +use ObjectGenerator; + +# ************************************************************ +# Data Section +# ************************************************************ + +my $generators = {}; + +# ************************************************************ +# Subroutine Section +# ************************************************************ + +sub register { + $generators = shift; +} + + +sub create { + return $$generators{$_[0]}->new() if (defined $$generators{$_[0]}); + + print STDERR "WARNING: Invalid object generator type: $_[0]\n"; + return new ObjectGenerator(); +} + + +1; |