package com.apexmob.skink.listeners;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.apexmob.skink.EndElement;
import com.apexmob.skink.StartElement;
import com.apexmob.skink.Text;

/**
 * The DebugNodeListener logs the contents of all events at the debug level.
 */
public class DebugNodeListener extends AbstractNodeListener {
	
	private static final Logger logger = LoggerFactory.getLogger(DebugNodeListener.class);

	/**
	 * {@inheritDoc}
	 * Log the contents of the event at debug level.
	 */
	public void onStartElement(StartElement start) {
		logger.debug(start.getContent());
	}

	/**
	 * {@inheritDoc}
	 * Log the contents of the event at debug level.
	 */
	public void onText(Text text) {
		logger.debug(text.getContent());
	}

	/**
	 * {@inheritDoc}
	 * Log the contents of the event at debug level.
	 */
	public void onEndElement(EndElement end) {
		logger.debug(end.getContent());
	}

}

package com.apexmob.skink.listeners;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.apexmob.skink.EndElement;
import com.apexmob.skink.NodeListener;
import com.apexmob.skink.StartElement;
import com.apexmob.skink.Text;

public class DebugNodeListener implements NodeListener {
	
	private static final Logger logger = LoggerFactory.getLogger(DebugNodeListener.class);

	public void onStartElement(StartElement start) {
		logger.debug(start.getContent());
	}

	public void onText(Text text) {
		logger.debug(text.getContent());
	}

	public void onEndElement(EndElement end) {
		logger.debug(end.getContent());
	}

}

--- 
+++ 
@@ -4,22 +4,36 @@
 import org.slf4j.LoggerFactory;
 
 import com.apexmob.skink.EndElement;
-import com.apexmob.skink.NodeListener;
 import com.apexmob.skink.StartElement;
 import com.apexmob.skink.Text;
 
-public class DebugNodeListener implements NodeListener {
+/**
+ * The DebugNodeListener logs the contents of all events at the debug level.
+ */
+public class DebugNodeListener extends AbstractNodeListener {
 	
 	private static final Logger logger = LoggerFactory.getLogger(DebugNodeListener.class);
 
+	/**
+	 * {@inheritDoc}
+	 * Log the contents of the event at debug level.
+	 */
 	public void onStartElement(StartElement start) {
 		logger.debug(start.getContent());
 	}
 
+	/**
+	 * {@inheritDoc}
+	 * Log the contents of the event at debug level.
+	 */
 	public void onText(Text text) {
 		logger.debug(text.getContent());
 	}
 
+	/**
+	 * {@inheritDoc}
+	 * Log the contents of the event at debug level.
+	 */
 	public void onEndElement(EndElement end) {
 		logger.debug(end.getContent());
 	}
Add javadoc, Update to extend AbstractNodeListener