public Set<BlockUri> getFreeformBlockFamilies() { return assetManager.getAvailableAssets(BlockFamilyDefinition.class) .stream().<Optional<BlockFamilyDefinition>>map(urn -> assetManager.getAsset(urn, BlockFamilyDefinition.class)) .filter(def -> def.isPresent() && def.get().isLoadable() && def.get().isFreeform()) .map(r -> new BlockUri(r.get().getUrn())).collect(Collectors.toSet()); } }
public Set<BlockUri> getAvailableBlockFamilies() { return assetManager.getAvailableAssets(BlockFamilyDefinition.class) .stream().<Optional<BlockFamilyDefinition>>map(urn -> assetManager.getAsset(urn, BlockFamilyDefinition.class)) .filter(def -> def.isPresent() && def.get().isLoadable() && !def.get().isFreeform()) .map(r -> new BlockUri(r.get().getUrn())).collect(Collectors.toSet()); }
public BlockFamily createFamily(BlockBuilderHelper blockBuilderHelper) { Preconditions.checkState(!isFreeform()); return BlockFamilyLibrary.createFamily(getData().getBlockFamily(), this, blockBuilderHelper); }
private Optional<BlockFamily> loadFamily(BlockUri uri) { Optional<BlockFamilyDefinition> familyDef = assetManager.getAsset(uri.getBlockFamilyDefinitionUrn(), BlockFamilyDefinition.class); if (familyDef.isPresent() && familyDef.get().isLoadable()) { if (familyDef.get().isFreeform()) { ResourceUrn shapeUrn; if (uri.getShapeUrn().isPresent()) { shapeUrn = uri.getShapeUrn().get(); } else { shapeUrn = CUBE_SHAPE_URN; } Optional<BlockShape> shape = assetManager.getAsset(shapeUrn, BlockShape.class); if (shape.isPresent()) { return Optional.of(familyDef.get().createFamily(shape.get(), blockBuilder)); } } else if (!familyDef.get().isFreeform()) { return Optional.of(familyDef.get().createFamily(blockBuilder)); } } else { logger.error("Family not available: {}", uri); } return Optional.empty(); }
public BlockFamily createFamily(BlockShape shape, BlockBuilderHelper blockBuilderHelper) { Preconditions.checkState(isFreeform()); return BlockFamilyLibrary.createFamily(getData().getBlockFamily(), this, shape, blockBuilderHelper); }
Optional<BlockFamilyDefinition> def = Assets.get(matchingUris.iterator().next(), BlockFamilyDefinition.class); if (def.isPresent()) { if (def.get().isFreeform()) { if (shapeUriParam == null) { blockFamily = blockManager.getBlockFamily(new BlockUri(def.get().getUrn(), new ResourceUrn("engine:cube")));