# File lib/pluginfactory.rb, line 222
222:         def getSubclass( className )
223:                 return self if ( self.name == className || className == '' )
224:                 return className if className.is_a?( Class ) && className >= self
225: 
226:                 unless self.derivatives.has_key?( className.downcase )
227:                         self.loadDerivative( className )
228: 
229:                         unless self.derivatives.has_key?( className.downcase )
230:                                 raise FactoryError,
231:                                         "loadDerivative(%s) didn't add a '%s' key to the "\
232:                                         "registry for %s" %
233:                                         [ className, className.downcase, self.name ]
234:                         end
235: 
236:                         subclass = self.derivatives[ className.downcase ]
237:                         unless subclass.is_a?( Class )
238:                                 raise FactoryError,
239:                                         "loadDerivative(%s) added something other than a class "\
240:                                         "to the registry for %s: %p" %
241:                                         [ className, self.name, subclass ]
242:                         end
243:                 end
244: 
245:                 return self.derivatives[ className.downcase ]
246:         end