# HG changeset patch # User Shoshi TAMAKI # Date 1357568556 -32400 # Node ID 9fd57b7c6adb9e2f2ee00d1b34b4f1b11b250350 # Parent 848f73545c4d776bbf84742e877b31ae442754e5 added Either diff -r 848f73545c4d -r 9fd57b7c6adb src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultChildren.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultChildren.java Sun Jan 06 22:32:39 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultChildren.java Mon Jan 07 23:22:36 2013 +0900 @@ -8,9 +8,11 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; +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.util.IterableWrapper; -public class DefaultChildren implements Children +public class DefaultChildren implements EditableChildren { private final List children; private static final List EMPTY = List.nil(); @@ -78,4 +80,17 @@ { return (new IterableWrapper(children)).iterator(); } + + @Override + public EditableNode addNewChildAt(int _pos) + { + + return null; + } + + @Override + public EditableNode deleteChildAt(int _pos) + { + return null; + } } diff -r 848f73545c4d -r 9fd57b7c6adb src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultNode.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultNode.java Sun Jan 06 22:32:39 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultNode.java Mon Jan 07 23:22:36 2013 +0900 @@ -1,10 +1,11 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Attributes; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children; 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; -public class DefaultNode implements Node +public class DefaultNode implements EditableNode { public final DefaultAttributes attrs; public final DefaultChildren children; @@ -21,13 +22,13 @@ } @Override - public DefaultChildren getChildren() + public EditableChildren getChildren() { return children; } @Override - public DefaultAttributes getAttributes() + public EditableAttributes getAttributes() { return attrs; } diff -r 848f73545c4d -r 9fd57b7c6adb src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java Sun Jan 06 22:32:39 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java Mon Jan 07 23:22:36 2013 +0900 @@ -94,6 +94,8 @@ DefaultNode node = (DefaultNode)n; path.add(node); } + + } diff -r 848f73545c4d -r 9fd57b7c6adb src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/logger/LoggingNode.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/logger/LoggingNode.java Sun Jan 06 22:32:39 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/logger/LoggingNode.java Mon Jan 07 23:22:36 2013 +0900 @@ -31,4 +31,9 @@ { return new LoggingChildren(wrap.getChildren(),log); } + + public Logger getLogger() + { + return log; + } } diff -r 848f73545c4d -r 9fd57b7c6adb src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/util/DefaultEither.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/util/DefaultEither.java Mon Jan 07 23:22:36 2013 +0900 @@ -0,0 +1,37 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util; + +public class DefaultEither implements Either +{ + private final A theA; + private final B theB; + + public DefaultEither(A _theA) + { + theA = _theA; + theB = null; + } + + @Override + public A a() + { + return theA; + } + + @Override + public boolean isA() + { + return (theA == null) ? true : false; + } + + @Override + public B b() + { + return theB; + } + + @Override + public boolean isB() + { + return (theB == null) ? true : false; + } +} diff -r 848f73545c4d -r 9fd57b7c6adb src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/util/Either.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/util/Either.java Mon Jan 07 23:22:36 2013 +0900 @@ -0,0 +1,9 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util; + +public interface Either +{ + public A a(); + public boolean isA(); + public B b(); + public boolean isB(); +}