@Override public final boolean contains(DataQuery path) { checkNotNull(path, "path"); List<String> queryParts = path.getParts(); String key = queryParts.get(0); if (queryParts.size() == 1) { return this.map.containsKey(key); } Optional<DataView> subViewOptional = this.getUnsafeView(key); return subViewOptional.isPresent() && subViewOptional.get().contains(path.popFirst()); }
@SuppressWarnings("unchecked") @Override public <T extends DataSerializable> Optional<T> getSerializable(DataQuery path, Class<T> clazz) { checkNotNull(path, "path"); checkNotNull(clazz, "clazz"); if (clazz.isAssignableFrom(CatalogType.class)) { final Optional<T> catalog = (Optional<T>) getCatalogType(path, ((Class<? extends CatalogType>) clazz)); if (catalog.isPresent()) { return catalog; } } return getUnsafeView(path).flatMap(view -> Sponge.getDataManager().getBuilder(clazz) .flatMap(builder -> builder.build(view)) ); }
@Override public DataView remove(DataQuery path) { checkNotNull(path, "path"); List<String> parts = path.getParts(); if (parts.size() > 1) { String subKey = parts.get(0); DataQuery subQuery = of(subKey); Optional<DataView> subViewOptional = this.getUnsafeView(subQuery); if (!subViewOptional.isPresent()) { return this; } DataView subView = subViewOptional.get(); subView.remove(path.popFirst()); } else { this.map.remove(parts.get(0)); } return this; }
Optional<DataView> subViewOptional = this.getUnsafeView(key); if (!subViewOptional.isPresent()) { return Optional.empty();
if (parts.size() > 1) { DataQuery subQuery = of(key); Optional<DataView> subViewOptional = this.getUnsafeView(subQuery); DataView subView; if (!subViewOptional.isPresent()) {
@Override public final boolean contains(DataQuery path) { checkNotNull(path, "path"); List<String> queryParts = path.getParts(); String key = queryParts.get(0); if (queryParts.size() == 1) { return this.map.containsKey(key); } Optional<DataView> subViewOptional = this.getUnsafeView(key); if (!subViewOptional.isPresent()) { return false; } return subViewOptional.get().contains(path.popFirst()); }
@SuppressWarnings("unchecked") @Override public <T extends DataSerializable> Optional<T> getSerializable(DataQuery path, Class<T> clazz) { checkNotNull(path, "path"); checkNotNull(clazz, "clazz"); if (clazz.isAssignableFrom(CatalogType.class)) { final Optional<T> catalog = (Optional<T>) getCatalogType(path, ((Class<? extends CatalogType>) clazz)); if (catalog.isPresent()) { return catalog; } } return getUnsafeView(path).flatMap(view -> Sponge.getDataManager().getBuilder(clazz) .flatMap(builder -> builder.build(view)) ); }
@Override public DataView remove(DataQuery path) { checkNotNull(path, "path"); List<String> parts = path.getParts(); if (parts.size() > 1) { String subKey = parts.get(0); DataQuery subQuery = of(subKey); Optional<DataView> subViewOptional = this.getUnsafeView(subQuery); if (!subViewOptional.isPresent()) { return this; } DataView subView = subViewOptional.get(); subView.remove(path.popFirst()); } else { this.map.remove(parts.get(0)); } return this; }
Optional<DataView> subViewOptional = this.getUnsafeView(key); if (!subViewOptional.isPresent()) { return Optional.empty();
if (parts.size() > 1) { DataQuery subQuery = of(key); Optional<DataView> subViewOptional = this.getUnsafeView(subQuery); DataView subView; if (!subViewOptional.isPresent()) {