/* * Copyright (c) 1999 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. This program is distributed in the * hope that it will be useful, but WITHOUT ANY WARRANTY; without even * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. * See W3C License http://www.w3.org/Consortium/Legal/ for more details. * * $Id: ParserFactory.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac.helpers; import org.w3c.css.sac.Parser; /** * A factory for creating Parser objects. * * @author Philippe Le Hegaret * @version $Revision: 477010 $ */ public class ParserFactory { /** * Create a parser with given selectors factory and conditions factory. * * @return the parser * @throws ClassNotFoundException the class not found exception * @throws IllegalAccessException the illegal access exception * @throws InstantiationException the instantiation exception * @throws NullPointerException the null pointer exception * @throws ClassCastException the class cast exception */ public Parser makeParser() throws ClassNotFoundException, IllegalAccessException, InstantiationException, NullPointerException, ClassCastException { String className = System.getProperty("org.w3c.css.sac.parser"); if (className == null) { throw new NullPointerException("No value for sac.parser property"); } else { return (Parser) (Class.forName(className).newInstance()); } } }