diff src/alice/jungle/operations/NetworkNodeOperation.java @ 78:0055d917c796

Modified NetworkNodeOperation
author one
date Wed, 16 Oct 2013 17:24:15 +0900
parents 2dba7e1cf9fa
children 5b9708d9febc
line wrap: on
line diff
--- a/src/alice/jungle/operations/NetworkNodeOperation.java	Tue Oct 15 16:01:11 2013 +0900
+++ b/src/alice/jungle/operations/NetworkNodeOperation.java	Wed Oct 16 17:24:15 2013 +0900
@@ -7,47 +7,64 @@
 
 import org.msgpack.annotation.Message;
 
-
 @Message
 public class NetworkNodeOperation {
 
 	public int pos;
-	public String key = null;
-	public ByteBuffer value = null;
-	public Command command = null;
+	public String key;
+	public ByteBuffer value;
+	public int commandType;
 
 	public NetworkNodeOperation() {
 		pos = -2;
+		key = null;
+		value = null;
+		commandType = 0;
 	}
 	
 	public NetworkNodeOperation(NodeOperation _op) {
 		pos = _op.getPosition();
 		key = _op.getKey();
 		value = _op.getValue();
-		command= _op.getCommand();
-		
+		commandType = getCommandType(_op.getCommand());
 	}
 	
-	public NetworkNodeOperation(int _pos, Command _command) {
-		pos = _pos;
-		command = _command;
+	public static int getCommandType(Command c) {
+		switch(c) {
+		case PUT_ATTRIBUTE:
+			return 1;
+		case APPEND_CHILD:
+			return 2;
+		case DELETE_CHILD:
+			return 3;
+		case DELETE_ATTRIBUTE:
+			return 4;
+		default:
+			break;
+		}
+		return 0;
 	}
 	
-	public NetworkNodeOperation(String _key, Command _command) {
-		key = _key;
-		command = _command;
+	public static Command getCommand(int num) {
+		switch(num) {
+		case 1:
+			return Command.PUT_ATTRIBUTE;
+		case 2:
+			return Command.APPEND_CHILD;
+		case 3:
+			return Command.DELETE_CHILD;
+		case 4:
+			return Command.DELETE_ATTRIBUTE;
+		default:
+			break;
+		}
+		return null;
 	}
 	
-	public NetworkNodeOperation(String _key, ByteBuffer _value, Command _command) {
-		key = _key;
-		value = _value;
-		command = _command;
+	public Command getCommand() {
+		return getCommand(commandType);
 	}
 
-	public NetworkNodeOperation(Command _command) {
-		command = _command;
-	}
-	
 	public int getPosition() {
 		return pos;
 	}
@@ -60,7 +77,4 @@
 		return value;
 	}
 
-	public Command getCommand() {
-		return command;
-	}
 }