View Javadoc

1   /*
2    * Copyright (c) 2006-2007 Creative Sphere Limited.
3    * All rights reserved. This program and the accompanying materials
4    * are made available under the terms of the Eclipse Public License v1.0
5    * which accompanies this distribution, and is available at
6    * http://www.eclipse.org/legal/epl-v10.html
7    *
8    * Contributors:
9    *
10   *   Creative Sphere - initial API and implementation
11   *
12   */
13  package org.abstracthorizon.danube.webdav.xml.dav.request;
14  
15  import org.abstracthorizon.danube.webdav.xml.XMLParserHandler;
16  
17  import org.xml.sax.Attributes;
18  import org.xml.sax.SAXException;
19  
20  /**
21   * Abstract XML handler. This method defines some default actions for {@link XMLParserHandler#start(Object, String, Attributes)}
22   *  and {@link XMLParserHandler#end(Object, String, String)} methods
23   *
24   * @author Daniel Sendula
25   */
26  public abstract class AbstractSimpleXMLHandler implements XMLParserHandler {
27  
28      /** Parent parser handler */
29      protected XMLParserHandler parent;
30  
31      /**
32       * Constructor
33       */
34      protected AbstractSimpleXMLHandler() {
35      }
36  
37      /**
38       * Constructor
39       * @param parent parent parser handler
40       */
41      public AbstractSimpleXMLHandler(XMLParserHandler parent) {
42          this.parent = parent;
43      }
44  
45      /**
46       * Returns current object and does nothing else
47       * @param current current object
48       * @param tag tag
49       * @param attributes attribtues
50       */
51      public Object start(Object current, String tag, Attributes attributes) throws SAXException {
52          if (parent != null) {
53              // return parent.start(current, tag, attributes);
54              return current;
55          } else {
56              return current;
57          }
58      }
59  
60      /**
61       * Returns parent object and does nothing else
62       * @param current current object
63       * @param tag tag
64       * @param value tag value
65       */
66      public Object end(Object current, String tag, String value) throws SAXException {
67          return parent;
68      }
69  }