Class InstanceFactory


  • public class InstanceFactory
    extends Object
    • Method Detail

      • addComponent

        public void addComponent​(String componentType,
                                 String componentClass)
      • addBehavior

        public void addBehavior​(String behaviorId,
                                String behaviorClass)
      • addConverter

        public void addConverter​(String converterId,
                                 String converterClass)
      • addConverter

        public void addConverter​(Class<?> targetClass,
                                 String converterClass)
      • createConverter

        public Converter<?> createConverter​(String converterId)
      • createConverter

        public Converter createConverter​(Class<?> targetClass)
      • getConverterTypes

        public Iterator<Class<?>> getConverterTypes()
      • addValidator

        public void addValidator​(String validatorId,
                                 String validatorClass)
      • addDefaultValidatorId

        public void addDefaultValidatorId​(String validatorId)
      • getDefaultValidatorInfo

        public Map<String,​String> getDefaultValidatorInfo()
      • newConverter

        protected Object newConverter​(Class<?> key,
                                      Map<Class<?>,​Object> map,
                                      Class<?> targetClass)

        The same as newThing except that a single argument constructor that accepts a Class is looked for before calling the no-arg version.

        PRECONDITIONS: the values in the Map are either Strings representing fully qualified java class names, or java.lang.Class instances.

        ALGORITHM: Look in the argument map for a value for the argument key. If found, if the value is instanceof String, assume the String specifies a fully qualified java class name and obtain the java.lang.Class instance for that String using Util.loadClass(). Replace the String instance in the argument map with the Class instance. If the value is instanceof Class, proceed. Assert that the value is either instanceof java.lang.Class or java.lang.String.

        Now that you have a java.lang.class, call its newInstance and return it as the result of this method.

        Parameters:
        key - Used to look up the value in the Map.
        map - The Map that will be searched.
        targetClass - the target class for the single argument ctor
        Returns:
        The new object instance.