Skip to content

Commit 5d37fe1

Browse files
Add files via upload
1 parent 106d607 commit 5d37fe1

File tree

3 files changed

+151
-0
lines changed

3 files changed

+151
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package head;
2+
3+
import java.util.List;
4+
5+
public final class Bar extends Foo
6+
{
7+
byte by0 = (byte) 142;
8+
short s0 = 555;
9+
10+
public Bar(Object... args) {
11+
// TODO Auto-generated constructor stub
12+
}
13+
14+
@Override
15+
public String toString()
16+
{
17+
return "Bar[" + a + " " + b + " " + c + " " + d + " " + f + " " + ch + " " + s + " " + nah + " " + l + " " + by0 + " " + s0 + "]";
18+
}
19+
20+
public static class BarProtocol extends FooProtocol
21+
{
22+
@Override
23+
public Object[] serialize(Foo object)
24+
{
25+
return new Object[] {object.a, object.b, object.c, object.d, object.f, object.ch, object.s, object.nah, object.l, ((Bar) object).by0, ((Bar) object).s0};
26+
}
27+
28+
@SuppressWarnings("unchecked")
29+
@Override
30+
public Foo unserialize(Class<? extends Foo> objectClass, Object... args)
31+
{
32+
Bar f = new Bar();
33+
f.a = (int) args[0];
34+
f.b = (int) args[1];
35+
f.c = (int) args[2];
36+
f.d = (double) args[3];
37+
f.f = (float) args[4];
38+
f.ch = (char) args[5];
39+
f.s = (String) args[6];
40+
f.nah = (boolean) args[7];
41+
f.l = (List<Object>) args[8];
42+
f.by0 = ((Number) args[9]).byteValue();
43+
f.s0 = ((Number) args[10]).shortValue();
44+
45+
return f;
46+
}
47+
48+
@Override
49+
public Class<? extends Foo> applicableFor()
50+
{
51+
return Bar.class;
52+
}
53+
}
54+
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package head;
2+
3+
import java.util.ArrayList;
4+
import java.util.Arrays;
5+
import java.util.List;
6+
import java.util.Random;
7+
import java.util.concurrent.CopyOnWriteArrayList;
8+
9+
import ugp.org.SerialX.Protocols.SerializationProtocol;
10+
11+
public class Foo
12+
{
13+
int a = 8, b = 1, c = 456;
14+
double d = 5.5;
15+
float f = 1453.36f;
16+
char ch = 'l';
17+
String s = "a";
18+
boolean nah = false;
19+
List<Object> l = new CopyOnWriteArrayList<Object>(Arrays.asList(6, 45,464654, 9.9, 56f));
20+
21+
public Foo()
22+
{
23+
l.add(6);
24+
l.add(9);
25+
l.add(13);
26+
l.add(new Random());
27+
l.add(new ArrayList<>(Arrays.asList("adsad", 456, null)));
28+
}
29+
30+
@Override
31+
public String toString()
32+
{
33+
return "Foo[" + a + " " + b + " " + c + " " + d + " " + f + " " + ch + " " + s + " " + nah + " " + l + "]";
34+
}
35+
36+
public static class FooProtocol extends SerializationProtocol<Foo>
37+
{
38+
@Override
39+
public Object[] serialize(Foo object)
40+
{
41+
return new Object[] {object.a, object.b, object.c, object.d, object.f, object.ch, object.s, object.nah, object.l};
42+
}
43+
44+
@SuppressWarnings("unchecked")
45+
@Override
46+
public Foo unserialize(Class<? extends Foo> objectClass, Object... args)
47+
{
48+
Foo f = new Foo();
49+
f.a = (int) args[0];
50+
f.b = (int) args[1];
51+
f.c = (int) args[2];
52+
f.d = (double) args[3];
53+
f.f = (float) args[4];
54+
f.ch = (char) args[5];
55+
f.s = (String) args[6];
56+
f.nah = (boolean) args[7];
57+
f.l = (List<Object>) args[8];
58+
59+
return f;
60+
}
61+
62+
@Override
63+
public Class<? extends Foo> applicableFor()
64+
{
65+
return Foo.class;
66+
}
67+
};
68+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package head;
2+
3+
import java.io.File;
4+
import java.util.ArrayList;
5+
import java.util.List;
6+
import java.util.Random;
7+
8+
import ugp.org.SerialX.Serializer;
9+
10+
public class Main
11+
{
12+
public static void main(String[] args)
13+
{
14+
Serializer.PROTOCOL_REGISTRY.addAll(new Bar.BarProtocol(), new Foo.FooProtocol());
15+
16+
File f = new File("./test.srlx");
17+
Random r = new Random();
18+
19+
List<Object> list = new ArrayList<>();
20+
for (int i = 0; i < 100; i++)
21+
list.add(r.nextBoolean() ? r.nextInt(i+1) : r.nextBoolean());
22+
23+
Serializer.PROTOCOL_REGISTRY.GetProtocolFor(String.class).setActive(false);
24+
Serializer.SerializeTo(f, "145632asaa415644akhdjgxajcgj312345634hahaXDDDLol", r, list, new Bar(), 1, 2.2, 3, 'A', true, false, null, new int[] {1, 2, 3});
25+
Serializer.PROTOCOL_REGISTRY.setActivityForAll(true);
26+
System.out.println(Serializer.LoadFrom(f));
27+
}
28+
29+
}

0 commit comments

Comments
 (0)