Package org.owasp.esapi.util
Class ObjFactory
- java.lang.Object
-
- org.owasp.esapi.util.ObjFactory
-
public class ObjFactory extends java.lang.ObjectA generic object factory to create an object of class T. T must be a concrete class that has a no-argument public constructor or a implementor of the Singleton pattern that has a no-arg static getInstance method. If the class being created has a getInstance method, it will be used as a singleton and newInstance() will never be called on the class no matter how many times it comes through this factory.Typical use is something like:
import com.example.interfaces.DrinkingEstablishment; import com.example.interfaces.Beer; ... // Typically these would be populated from some Java properties file String barName = "com.example.foo.Bar"; String beerBrand = "com.example.brewery.Guiness"; ... DrinkingEstablishment bar = ObjFactory.make(barName, "DrinkingEstablishment"); Beer beer = ObjFactory.make(beerBrand, "Beer"); bar.drink(beer); // Drink a Guiness beer at the foo Bar. :) ...Copyright (c) 2009 - The OWASP Foundation
- Author:
- kevin.w.wall@gmail.com, Chris Schmidt ( chrisisbeef .at. gmail.com )
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> Tmake(java.lang.String className, java.lang.String typeName)Create an object based on theclassNameparameter.
-
-
-
Method Detail
-
make
public static <T> T make(java.lang.String className, java.lang.String typeName) throws ConfigurationExceptionCreate an object based on theclassNameparameter.- Parameters:
className- The name of the class to construct. Should be a fully qualified name and generally the same as typeTtypeName- A type name used in error messages / exceptions.- Returns:
- An object of type
className, which is cast to typeT. - Throws:
ConfigurationException- thrown if class name not found in class path, or does not have a public, no-argument constructor, or is not a concrete class, or if it is not a sub-type ofT(orTitself). Usually this is caused by a misconfiguration of the class names specified in the ESAPI.properties file. Also thrown if the CTOR of the specifiedclassNamethrows anExceptionof some type.
-
-