Mercurial > hg > Database > Alice
view src/alice/codesegment/OutputDataSegment.java @ 254:2ec10cfa8cc3
refactor
author | sugi |
---|---|
date | Mon, 01 Jul 2013 20:00:07 +0900 |
parents | 1fd7067f0044 |
children | b4690114a0cd |
line wrap: on
line source
package alice.codesegment; import java.io.IOException; import org.msgpack.type.Value; import org.msgpack.type.ValueFactory; import alice.datasegment.DataSegment; import alice.datasegment.Receiver; public class OutputDataSegment { /** * for local */ public void flip(Receiver receiver) { receiver.managerKey=null; DataSegment.getLocal().putObject(receiver.key, receiver.getObj()); } public void put(String key, String val) { DataSegment.getLocal().putObject(key, val); } public void put(String key, byte[] val) { DataSegment.getLocal().putObject(key, val); } public void put(String key, int val) { DataSegment.getLocal().putObject(key, val); } public <T> void put(String key, T val) { DataSegment.getLocal().putObject(key, val); } public void update(String key, String val) { DataSegment.getLocal().updateObject(key, val); } public void update(String key, byte[] val) { DataSegment.getLocal().updateObject(key, val); } public void update(String key, int val) { DataSegment.getLocal().updateObject(key, val); } public <T> void update(String key, T val) { DataSegment.getLocal().updateObject(key, val); } /** * for remote */ public void put(String managerKey, String key, Value val) { DataSegment.get(managerKey).put(key, val); } public void put(String managerKey, String key, String val) { if (!managerKey.equals("local")){ DataSegment.get(managerKey).put(key, ValueFactory.createRawValue(val)); } else { put(key, val); } } public void put(String managerKey, String key, byte[] val) { if (!managerKey.equals("local")){ DataSegment.get(managerKey).put(key, ValueFactory.createRawValue(val, true)); } else { put(key, val); } } public void put(String managerKey, String key, int val) { if (!managerKey.equals("local")){ DataSegment.get(managerKey).put(key, ValueFactory.createIntegerValue(val)); } else { put(key, val); } } public <T> void put(String managerKey, String key, T val) { if (!managerKey.equals("local")){ try { DataSegment.get(managerKey).put(key, SingletonMessage.getInstance().unconvert(val)); } catch (IOException e) { e.printStackTrace(); } } else { put(key, val); } } public void update(String managerKey, String key, Value val) { DataSegment.get(managerKey).update(key, val); } public void update(String managerKey, String key, String val) { if (!managerKey.equals("local")){ DataSegment.get(managerKey).update(key, ValueFactory.createRawValue(val)); } else { update(key, val); } } public void update(String managerKey, String key, byte[] val) { if (!managerKey.equals("local")){ DataSegment.get(managerKey).update(key, ValueFactory.createRawValue(val, true)); } else { update(key, val); } } public void update(String managerKey, String key, int val) { if (!managerKey.equals("local")){ DataSegment.get(managerKey).update(key, ValueFactory.createIntegerValue(val)); } else { update(key, val); } } public <T> void update(String managerKey, String key, T val) { if (!managerKey.equals("local")){ try { DataSegment.get(managerKey).update(key, SingletonMessage.getInstance().unconvert(val)); } catch (IOException e) { e.printStackTrace(); } } else { update(key, val); } } /** * kill the Alice process after send other messages. * * @param managerKey */ public void finish(String managerKey) { DataSegment.get(managerKey).finish(); } /** * close socket for RemoteDataSegment after send other messages. * * @param managerKey */ public void close(String managerKey) { DataSegment.get(managerKey).close(); } }