01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2004-2006, GeoTools Project Managment Committee (PMC)
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: */
16: package org.geotools.xml.handlers.xsi;
17:
18: import org.geotools.xml.XSIElementHandler;
19: import org.geotools.xml.schema.ElementGrouping;
20: import org.xml.sax.SAXException;
21:
22: /**
23: * <p>
24: * Allows the developer to avoid instanceof operators when wishing to compress.
25: * </p>
26: *
27: * @author dzwiers www.refractions.net
28: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/xml/src/main/java/org/geotools/xml/handlers/xsi/ElementGroupingHandler.java $
29: */
30: public abstract class ElementGroupingHandler extends XSIElementHandler {
31: /**
32: * <p>
33: * This will compress the given element based on it's type and the parent
34: * schema, allowing for references to be resolved.
35: * </p>
36: *
37: * @param parent
38: *
39: *
40: * @throws SAXException
41: */
42: protected abstract ElementGrouping compress(SchemaHandler parent)
43: throws SAXException;
44: }
|