Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/logger/LoggingNode.java @ 41:ed6737db637a
added tests
author | Shoshi TAMAKI |
---|---|
date | Tue, 29 Jan 2013 23:42:54 +0900 |
parents | 35e327577b58 |
children | 0a3bff2d9c89 |
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.store.impl.ClonableAttributes; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.ClonableChildren; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.ClonableNode; 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; public class LoggingNode<T extends ClonableNode<T>> implements ClonableNode<LoggingNode<T>> { public LoggingNode(T _wrap) { this(_wrap,new DefaultLogger()); } public LoggingNode(T _wrap,Logger _log) { wrap = _wrap; log = _log; } private final T wrap; private final Logger log; @Override public ClonableAttributes<LoggingNode<T>> getAttributes() { return new LoggingAttributes<T>(wrap.getAttributes(),log); } @Override public ClonableChildren<LoggingNode<T>> getChildren() { return new LoggingChildren<T>(wrap.getChildren(),log); } @Override public LoggingNode<T> createNewNode() { T newWrap = wrap.createNewNode(); return new LoggingNode<T>(newWrap,log); } public Logger getLogger() { return log; } public T getWrapper() { return wrap; } }