view Main/jungle-main/store/transformer/PutAttribute.cs @ 35:f2ea780b3e80

fix
author Kazuma Takeda
date Wed, 22 Feb 2017 16:30:19 +0900
parents a79781723862
children
line wrap: on
line source

using System.Collections;

namespace JungleDB {
	public class PutAttribute : NodeEditor {
		private string key;
		private object value;

		public PutAttribute(string _key, object _value)
		{
			key = _key;
			value = _value;
		}

		public PutAttribute(object _value)
		{
			key = _value.ToString();
			value = _value;
		}

		public Either<Error,LoggingNode> _edit(LoggingNode _e)
		{
			Either<Error,LoggingNode> either = _e.getAttributes().put(key,value);
			if(either.isA()){
				// error
				return either;
			}
			return DefaultEither<Error, LoggingNode>.newB(either.b());
		}

		public Either<Error, LoggingNode> edit(TreeNode _e) {
			LoggingNode logNode = wrap(_e);
			return _edit(logNode);
		}

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

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