view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/logger/LoggingNode.java @ 27:5f4172d6fb8b

clean up
author Shoshi TAMAKI
date Mon, 14 Jan 2013 04:07:15 +0900
parents 9fd57b7c6adb
children f4be99977be2
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger;

import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableAttributes;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableChildren;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Children;

public class LoggingNode implements EditableNode
{
	public LoggingNode(EditableNode _wrap)
	{
		this(_wrap,new DefaultLogger(_wrap));
	}
	
	public LoggingNode(EditableNode _wrap,Logger _log)
	{
		wrap = _wrap;
		log = _log;
	}
	
	private final EditableNode wrap;
	private final Logger log;
	
	@Override
	public EditableAttributes getAttributes()
	{
		return new LoggingAttributes(wrap.getAttributes(),log);
	}

	@Override
	public EditableChildren getChildren()
	{
		return new LoggingChildren(wrap.getChildren(),log);
	}
	
	public Logger getLogger()
	{
		return log;
	}

	@Override
	public Children<Node> children()
	{
		return wrap.children();
	}
}