view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/replaceRootNodeAt.java @ 176:550f51183d8a

Merge with a2598139df64efd6f649ba9a02f2b7d652bee8c1
author one
date Fri, 06 Mar 2015 10:59:34 +0900
parents
children
line wrap: on
line source

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

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

public class replaceRootNodeAt implements NodeEditor {

  
  public Either<Error, LoggingNode> _edit(LoggingNode _e) 
  {
    Either<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);
  }

}