view src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/replaceRootNodeAt.java @ 0:44465893e8b8

first Commit
author Kazuma
date Wed, 30 Nov 2016 01:47:55 +0900
parents
children
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.jungle.store.trasnformer;

import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.logger.LoggingNode;
import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.logger.OperationLog;
import jp.ac.u_ryukyu.ie.cr.jungle.util.Error;
import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNode;
import jp.ac.u_ryukyu.ie.cr.jungle.util.DefaultEither;
import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;

public class replaceRootNodeAt implements NodeEditor {

  
  public Either<Error, LoggingNode> _edit(LoggingNode _e)
  {
    Either<jp.ac.u_ryukyu.ie.cr.jungle.util.Error,LoggingNode> either = _e.replaceNewRootNode();
    if(either.isA()){
      // error
      return either;
    }
    return DefaultEither.newB(either.b());
  }
  
  
  @Override
  public Either<Error, LoggingNode> edit(TreeNode _e) {
    LoggingNode logNode = wrap(_e);
    return _edit(logNode);
  }

  public LoggingNode wrap(TreeNode node) {
    return new LoggingNode(node);
  }

 
  @Override
  public LoggingNode wrap(TreeNode node, OperationLog op) {
    return new LoggingNode(node, op);
  }

}