view src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/transaction/node/Differencial/DifferencialTreeNode.java @ 329:2a0cb1f0ba4e

rename Error package
author kono
date Sat, 08 Jul 2017 21:05:55 +0900
parents 20fac8350822
children
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.Differencial;

import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.Default.DefaultTreeNode;
import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode;
import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNodeAttributes;
import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNodeChildren;
import jp.ac.u_ryukyu.ie.cr.jungle.util.DefaultEither;
import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
import jp.ac.u_ryukyu.ie.cr.jungle.util.jungleError.Error;
import jp.ac.u_ryukyu.ie.cr.jungle.util.jungleError.TreeEditorError;

import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
import java.util.TreeMap;

public class DifferencialTreeNode implements TreeNode {
    private List<TreeNode> children;
    private TreeMap<String, ByteBuffer> attrs;

    public DifferencialTreeNode() {
        this(new ArrayList<>(), new TreeMap<>());
    }

    public DifferencialTreeNode(List<TreeNode> _children, TreeMap<String, ByteBuffer> _attrs) {
        attrs = _attrs;
        children = _children;
    }

    @Override
    public TreeNodeChildren getChildren() {
        return new DifferencialTreeNodeChildren(this, children);
    }

    @Override
    public TreeNodeAttributes getAttributes() {
        return new DifferencialTreeNodeAttribute(this, attrs);
    }

    @Override
    public DefaultTreeNode createNewNode() {
        return new DefaultTreeNode();
    }

    @Override
    public Either<Error, TreeNode> appendRootNode() {
        return DefaultEither.newA(TreeEditorError.NOT_USE_METHOD);
    }

    @Override
    public int getHash() {
        return this.getHash();
    }

    @Override
    public int compareTo(TreeNode o) {
        return this.hashCode() - o.hashCode();
    }
}