MightyPork

ion code example

May 23rd, 2014
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.00 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8.  
  9. import mightypork.gamecore.util.ion.Ion;
  10. import mightypork.gamecore.util.ion.IonInput;
  11. import mightypork.gamecore.util.ion.IonObjBinary;
  12. import mightypork.gamecore.util.ion.IonOutput;
  13.  
  14.  
  15. public class Test {
  16.    
  17.     public static class Rat implements IonObjBinary {
  18.        
  19.         public static final short ION_MARK = 50; // available: 50 to 255
  20.        
  21.         private String name;
  22.         private int age;       
  23.        
  24.         public Rat(String name, int age)
  25.         {
  26.             this.name = name;
  27.             this.age = age;
  28.         }      
  29.        
  30.         public Rat()
  31.         {
  32.             // needed for Ion.fromFile() & friends
  33.         }      
  34.        
  35.         @Override
  36.         public void load(IonInput in) throws IOException
  37.         {
  38.             name = in.readString();
  39.             age = in.readInt();
  40.         }      
  41.        
  42.         @Override
  43.         public void save(IonOutput out) throws IOException
  44.         {
  45.             out.writeString(name);
  46.             out.writeInt(age);
  47.         }      
  48.        
  49.         @Override
  50.         public short getIonMark()
  51.         {
  52.             return ION_MARK;
  53.         }      
  54.        
  55.         @Override
  56.         public String toString()
  57.         {
  58.             return "Rat('" + name + "', " + age + ")";
  59.         }
  60.     }
  61.    
  62.     public static void main(String[] args) throws IOException
  63.     {
  64.         {
  65.             System.out.println("\nTest 1");
  66.             HashMap<Integer, String> foos = new HashMap<Integer, String>();
  67.             foos.put(1, "Hello");
  68.             foos.put(32, "LOLOLO");
  69.             foos.put(42, "lyfe");
  70.             foos.put(43, null);
  71.            
  72.             System.out.println(foos);          
  73.             Ion.toFile("./data.ion", foos);
  74.            
  75.             System.out.println("-- loading --");           
  76.             Map<Object, Object> map = Ion.fromFile("./data.ion");
  77.            
  78.             System.out.println(map);
  79.         }
  80.         {
  81.             System.out.println("\nTest 2");
  82.            
  83.             Ion.registerType(Rat.ION_MARK, Rat.class);
  84.            
  85.             Rat r = new Rat("Fat rat", 4);
  86.            
  87.             System.out.println(r);         
  88.             Ion.toFile("rat.ion", r);
  89.            
  90.             System.out.println("-- loading --");           
  91.             Rat r2 = Ion.fromFile("rat.ion");
  92.            
  93.             System.out.println(r2);
  94.         }
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment