view Main/jungle-main/store/transformer/PutAttribute.cs @ 34:a79781723862

Add bind function to Either.cs Rewrite use bind.
author Kazuma Takeda
date Tue, 07 Feb 2017 20:50:50 +0900
parents 1466993c104c
children f2ea780b3e80
line wrap: on
line source

using UnityEngine;
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);
		}
	}
 }