Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.Map;
- import mightypork.gamecore.util.ion.Ion;
- import mightypork.gamecore.util.ion.IonInput;
- import mightypork.gamecore.util.ion.IonObjBinary;
- import mightypork.gamecore.util.ion.IonOutput;
- public class Test {
- public static class Rat implements IonObjBinary {
- public static final short ION_MARK = 50; // available: 50 to 255
- private String name;
- private int age;
- public Rat(String name, int age)
- {
- this.name = name;
- this.age = age;
- }
- public Rat()
- {
- // needed for Ion.fromFile() & friends
- }
- @Override
- public void load(IonInput in) throws IOException
- {
- name = in.readString();
- age = in.readInt();
- }
- @Override
- public void save(IonOutput out) throws IOException
- {
- out.writeString(name);
- out.writeInt(age);
- }
- @Override
- public short getIonMark()
- {
- return ION_MARK;
- }
- @Override
- public String toString()
- {
- return "Rat('" + name + "', " + age + ")";
- }
- }
- public static void main(String[] args) throws IOException
- {
- {
- System.out.println("\nTest 1");
- HashMap<Integer, String> foos = new HashMap<Integer, String>();
- foos.put(1, "Hello");
- foos.put(32, "LOLOLO");
- foos.put(42, "lyfe");
- foos.put(43, null);
- System.out.println(foos);
- Ion.toFile("./data.ion", foos);
- System.out.println("-- loading --");
- Map<Object, Object> map = Ion.fromFile("./data.ion");
- System.out.println(map);
- }
- {
- System.out.println("\nTest 2");
- Ion.registerType(Rat.ION_MARK, Rat.class);
- Rat r = new Rat("Fat rat", 4);
- System.out.println(r);
- Ion.toFile("rat.ion", r);
- System.out.println("-- loading --");
- Rat r2 = Ion.fromFile("rat.ion");
- System.out.println(r2);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment