public void testAddedField () throws FileNotFoundException { TestClass object1 = new TestClass(); object1.child = new TestClass(); object1.other = new AnotherClass(); object1.other.value = "meow"; TaggedFieldSerializer serializer = new TaggedFieldSerializer(kryo, TestClass.class); serializer.removeField("text"); kryo.register(TestClass.class, serializer); kryo.register(AnotherClass.class, new TaggedFieldSerializer(kryo, AnotherClass.class)); roundTrip(39, 55, object1); kryo.register(TestClass.class, new TaggedFieldSerializer(kryo, TestClass.class)); Object object2 = kryo.readClassAndObject(input); assertEquals(object1, object2); }
@NonNull private static Kryo createSerialiser() { Kryo serialiser = new Kryo(); serialiser.setDefaultSerializer(TaggedFieldSerializer.class); return serialiser; }
public KryoManager() { // setup kryo kryo = new Kryo(); kryo.setDefaultSerializer(TaggedFieldSerializer.class); kryo.getTaggedFieldSerializerConfig().setOptimizedGenerics(true); // !!!!! DO NOT CHANGE THIS, OTHERWISE ALREADY SERIALIZED OBJECTS WILL // BE UNREADABLE !!!! // core stuff kryo.register(ArrayList.class, 0); kryo.register(Date.class, 1); kryo.register(RegistryDescriptor.class, 2); kryo.register(ProjectRefDescriptor.class, 3); kryo.register(SettingsDescriptor.class, 4); kryo.register(ProjectSettingsDescriptor.class, 5); kryo.register(KeyboardLayout.class, 6); kryo.register(ProjectDescriptor.class, 7); kryo.register(SceneDescriptor.class, 8); // basic building blocks kryo.register(FogDescriptor.class, 9); kryo.register(GameObjectDescriptor.class, 10); kryo.register(BaseLightDescriptor.class, 11); // components kryo.register(ModelComponentDescriptor.class, 12); kryo.register(TerrainComponentDescriptor.class, 13); }
public Kryo create () { Kryo kryo = new Kryo(); kryo.register(GameDatabase.class, new GameDatabaseSerializer()); kryo.register(LevelState.class, new FullLevelStateSerializer()); kryo.register(ChunkMap.class, new ChunkMapDataSerializer()); kryo.register(Voxel.class, new VoxelSerializer()); kryo.register(Vector3.class, new Vector3Serializer()); kryo.register(LevelEnv.class, new LevelEnvSerializer()); kryo.register(Vector2.class, new Vector2Serializer()); kryo.register(Color.class, new ColorSerializer()); kryo.register(DirectionalLight.class, new DirectionalLightSerializer()); kryo.register(Asset.class, new AssetSerializer()); kryo.register(BoundingBox.class, new BoundingBoxSerializer()); kryo.register(VoxelChunkRenderable.class, new VoxelFaceRenderableSerializer()); kryo.register(Matrix4.class, new Matrix4Serializer()); kryo.register(Vector3i.class, new Vector3iSerializer()); kryo.register(Teleport.class, new PlayerStartPositionSerializer()); kryo.register(TextureAsset.class, new AssetSerializer()); kryo.register(ModelAsset.class, new AssetSerializer()); kryo.register(CubemapAsset.class, new AssetSerializer()); kryo.setDefaultSerializer(TaggedFieldSerializer.class); kryo.register(Skybox.class, new SkyboxSerializer()); kryo.register(CubemapSkybox.class, new SkyboxSerializer()); kryo.register(DayNightSkybox.class, new SkyboxSerializer()); kryo.register(WaterEnv.class, new WaterEnvSerializer()); kryo.register(DynamicGeometryProvider.class, new TerrainGeometryProviderSerializer()); kryo.register(VoxelChunkRenderableFactory.class, new VoxelChunkRenderableFactorySerializer()); kryo.register(ChunkPartCollider.class, new ChunkPartColliderSerializer()); kryo.register(OrthographicDirectionalLight.class, new OrthographicDirectionalLightSerializer()); return kryo; }
public void testTaggedFieldSerializer () throws FileNotFoundException { TestClass object1 = new TestClass(); object1.moo = 2; object1.child = new TestClass(); object1.child.moo = 5; object1.other = new AnotherClass(); object1.other.value = "meow"; object1.ignored = 32; kryo.setDefaultSerializer(TaggedFieldSerializer.class); kryo.register(TestClass.class); kryo.register(AnotherClass.class); TestClass object2 = roundTrip(57, 75, object1); assertTrue(object2.ignored == 0); }
/** * Конструктор * @param fileCache объект файлового кэша */ public Serializer(FileCache fileCache) { this.fileCache = fileCache; this.tabsStateFile = new AtomicFile(new File(fileCache.getFilesDirectory(), FileCache.TABS_FILENAME)); this.kryo = new Kryo(); this.kryo.setReferences(false); this.kryo.setDefaultSerializer(TaggedFieldSerializer.class); this.kryo.register(TabsState.class, 0); this.kryo.register(TabModel.class, 1); this.kryo.register(TabsIdStack.class, 2); this.kryo.register(SerializablePage.class, 3); this.kryo.register(SerializableBoardsList.class, 4); this.kryo.register(AttachmentModel.class, 5); this.kryo.register(BadgeIconModel.class, 6); this.kryo.register(BoardModel.class, 7); this.kryo.register(DeletePostModel.class, 8); this.kryo.register(PostModel.class, 9); this.kryo.register(SendPostModel.class, 10); this.kryo.register(SimpleBoardModel.class, 11); this.kryo.register(ThreadModel.class, 12); this.kryo.register(UrlPageModel.class, 13); this.kryo.register(AttachmentModel[].class, 14); this.kryo.register(BadgeIconModel[].class, 15); this.kryo.register(BoardModel[].class, 16); this.kryo.register(DeletePostModel[].class, 17); this.kryo.register(PostModel[].class, 18); this.kryo.register(SendPostModel[].class, 19); this.kryo.register(SimpleBoardModel[].class, 20); this.kryo.register(ThreadModel[].class, 21); this.kryo.register(UrlPageModel[].class, 22); this.kryo.register(java.util.ArrayList.class, 23); this.kryo.register(java.util.LinkedList.class, 24); this.kryo.register(java.io.File.class, new FileSerializer(), 25); this.kryo.register(java.io.File[].class, 26); }