Mercurial > hg > Database > jungle-sharp
view src/main/csharp/jp.ac.u-ryukyu.ie.cr/jungle-main/transaction/DefaultTreeNodeAttribute.cs @ 17:01a08cf4b2d9
Liq Files
author | Kazuma |
---|---|
date | Mon, 07 Nov 2016 01:05:24 +0900 |
parents | abe0c247f5a5 |
children |
line wrap: on
line source
using UnityEngine; using System.Collections; using System.Collections.Generic; using System; using System.Text; public class DefaultTreeNodeAttribute : TreeNodeAttributes { public List<TreeNode> children; public TreeMap<string, byte[]> attrs; public DefaultTreeNodeAttribute(List<TreeNode> _children, TreeMap<string, byte[]> _attrs){ children = _children; // null? attrs = _attrs; } public TreeMap<string, byte[]> getAttributesAsRawMap(){ return attrs; } public Either<Error, TreeNode> delete(string _key) { if (_key == null) { return DefaultEither<Error,TreeNode>.newA (NodeEditorError.NULL_VALUE_NOT_ALLOWED); } if (null == attrs.getRoot()) { return DefaultEither<Error,TreeNode>.newA(NodeEditorError.DELETE_KEY_NOT_FOUND); } TreeMap<string, byte[]> newMap = attrs.delete(_key); TreeNode newNode = new DefaultTreeNode(children, newMap); return DefaultEither<Error,TreeNode>.newB(newNode); } public Either<Error, TreeNode> put(string _key, byte[] _value){ if (_key == null || _value == null) { return DefaultEither<Error, TreeNode>.newA (NodeEditorError.NULL_VALUE_NOT_ALLOWED); } TreeMap<string, byte[]> newMap = attrs.put (_key, _value); TreeNode newNode = new DefaultTreeNode (children, newMap); return DefaultEither<Error, TreeNode>.newB (newNode); } public byte[] get(string _key) { if (_key == null) { return new byte[1]{0}; } byte[] op = attrs.get(_key); //null if (op != null) { return op; } return new byte[1]{0}; } public string getString(string key, Encoding enc) { char[] attribute = key.ToCharArray(); if (attribute != null){ return new string(attribute); } return null; } public string getString(string key) { return null; } public IEnumerator<string> getKeys(){ return attrs.keys (); } }