@Test public void testCreateView() { DataContainer container = DataContainer.createNew(); DataQuery tempQuery = of("foo", "bar", "baz"); container.createView(tempQuery); assertTrue(container.getView(tempQuery).isPresent()); }
@Test public void testCopy() { final DataContainer container = DataContainer.createNew(); container.set(of("Foo"), "foo"); final DataContainer newContainer = container.copy(); assertTrue(container.equals(newContainer)); container.set(of("Foo", "bar"), "foo.bar"); final DataView internal = container.getView(of("Foo")).get().copy(); final DataContainer internalCopy = DataContainer.createNew().set(of("bar"), "foo.bar"); assertTrue(internal.equals(internalCopy)); }
@Test public void testAbsents() { DataContainer container = DataContainer.createNew(); DataQuery testQuery = of("foo", "bar", "baz"); assertTrue(!container.get(testQuery).isPresent()); assertTrue(!container.getBoolean(testQuery).isPresent()); assertTrue(!container.getBooleanList(testQuery).isPresent()); assertTrue(!container.getByteList(testQuery).isPresent()); assertTrue(!container.getCharacterList(testQuery).isPresent()); assertTrue(!container.getDouble(testQuery).isPresent()); assertTrue(!container.getDoubleList(testQuery).isPresent()); assertTrue(!container.getFloatList(testQuery).isPresent()); assertTrue(!container.getInt(testQuery).isPresent()); assertTrue(!container.getIntegerList(testQuery).isPresent()); assertTrue(!container.getList(testQuery).isPresent()); assertTrue(!container.getLong(testQuery).isPresent()); assertTrue(!container.getLongList(testQuery).isPresent()); assertTrue(!container.getMapList(testQuery).isPresent()); assertTrue(!container.getShortList(testQuery).isPresent()); assertTrue(!container.getString(testQuery).isPresent()); assertTrue(!container.getStringList(testQuery).isPresent()); assertTrue(!container.getView(testQuery).isPresent()); }
@Override public Optional<HomeData> from(DataContainer container) { if (!container.contains(MyHomes.DEFAULT_HOME, MyHomes.HOMES)) { return Optional.empty(); } // Loads the structure defined in toContainer this.defaultHome = container.getSerializable(MyHomes.DEFAULT_HOME.getQuery(), Home.class).get(); // Loads the map of homes this.homes = Maps.newHashMap(); DataView homes = container.getView(MyHomes.HOMES.getQuery()).get(); for (DataQuery homeQuery : homes.getKeys(false)) { homes.getSerializable(homeQuery, Home.class) .ifPresent(home -> this.homes.put(homeQuery.toString(), home)); } return Optional.of(this); }
DataView location = container.getView(DataQueries.Location).get();
/** * Helper method for formatting entity container data. * @param entity */ private void writeEntity(Entity entity) { checkNotNull(entity); DataContainer entityData = entity.toContainer(); Optional<DataView> position = entityData.getView(DataQueries.Position); if (position.isPresent()) { position.get().set(DataQueries.WorldUuid, entityData.get(DataQueries.WorldUuid).get()); data.set(DataQueries.Location, position.get()); entityData.remove(DataQueries.Position); entityData.remove(DataQueries.WorldUuid); } Optional<DataView> optionalUnsafeData = entityData.getView(DataQueries.UnsafeData); if (optionalUnsafeData.isPresent()) { DataView unsafeData = optionalUnsafeData.get(); unsafeData.remove(DataQueries.Rotation); unsafeData.remove(DataQueries.Pos); entityData.set(DataQueries.UnsafeData, unsafeData); } data.set(DataQueries.Target, entity.getType().getId().replace("_", " ")); data.set(DataQueries.Entity, entityData); }
DataView location = container.getView(DataQueries.Location).get();