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