/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull private static ModelBuilder createModelBuilder() { return new ModelBuilder(SOURCE_MUSICBRAINZ); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull public synchronized ModelBuilder with (final @Nonnull ModelBuilder other) { return ModelBuilder.this.with(other.toModel()); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static Optional<Value> literalForLong (final Optional<Long> optionalLong) { return optionalLong.map(l -> literalFor(l)); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ public static void assertSameContents2 (final @Nonnull Path expectedPath, final @Nonnull Path actualPath) throws IOException { FileComparisonUtils.assertSameContents(toFileBMT46(normalizedPath(expectedPath.toAbsolutePath())), toFileBMT46(normalizedPath(actualPath.toAbsolutePath()))); } }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull public synchronized ModelBuilder with (final @Nonnull Optional<ModelBuilder> optionalBuiilder) { optionalBuiilder.ifPresent(builder -> ModelBuilder.this.with(builder)); return this; }
@Override @Nonnegative public long getSize() throws IOException { return Files.size(normalizedPath(getAbsolutePath())); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ public static void assertSameContents (final @Nonnull Path expectedPath, final @Nonnull Path actualPath) throws IOException { FileComparisonUtils.assertSameContents(toFileBMT46(expectedPath), toFileBMT46(actualPath)); // FileComparisonUtils.assertSameContents(Files.readAllLines(expectedPath), Files.readAllLines(actualPath)); }
@Override public BindingSet next() { if (hasNext()) { final BindingSet result = bindingSets.get(currentIndex); currentIndex++; return result; } throw new NoSuchElementException(); }
@Nonnull public static <T> Consumer<T> _c (final @Nonnull ConsumerWithException<T> consumer) { return t -> { try { consumer.accept(t); } catch (Exception e) { throw new RuntimeException(e); } }; }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull public synchronized ModelBuilder withOptional (final @Nonnull Optional<? extends Resource> optionalSubject, final @Nonnull IRI predicate, final @Nonnull Optional<? extends Value> optionalObject) { return optionalObject.map(object -> withOptional(optionalSubject, predicate, object)).orElse(this); }
@Nonnull public static <T, R> Function<T, R> _f (final @Nonnull FunctionWithException<T, R> function) { return t -> { try { return function.apply(t); } catch (Exception e) { throw new RuntimeException(e); } }; }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static <T, X extends RuntimeException> Stream<T> streamOf (final @Nonnull Iteration<T, X> iteration) { return stream(spliteratorUnknownSize(iteratorOf(iteration), 0), false); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static IRI uriFor (final @Nonnull Id id) { return uriFor(id.stringValue()); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull public synchronized ModelBuilder withOptional (final @Nonnull Resource subject, final @Nonnull IRI predicate, final @Nonnull Optional<? extends Value> optionalObject) { return optionalObject.map(object -> ModelBuilder.this.with(subject, predicate, object)).orElse(this); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static Optional<Value> literalForFloat (final Optional<Float> optionalFloat) { return optionalFloat.map(f -> literalFor(f)); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull public synchronized ModelBuilder withOptional (final @Nonnull Optional<? extends Resource> optionalSubject, final @Nonnull IRI predicate, final @Nonnull Value object) { return optionalSubject.map(subject -> ModelBuilder.this.with(subject, predicate, object)).orElse(this); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static Optional<Value> literalFor (final Optional<String> optionalString) { return optionalString.map(s -> literalFor(s)); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull public synchronized ModelBuilder with (final @Nonnull Resource subject, final @Nonnull IRI predicate, final @Nonnull Stream<? extends Value> objects) { objects.forEach(object -> ModelBuilder.this.with(subject, predicate, object)); // FIXME ?? this = withOptional(...) return this; }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static Optional<Value> literalForInt (final Optional<Integer> optionalInteger) { return optionalInteger.map(i -> literalFor(i)); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull public synchronized ModelBuilder with (final @Nonnull Resource subjext, final @Nonnull IRI predicate, final @Nonnull Optional<Value> optionalObject, final @Nonnull Resource... contexts) { return optionalObject.map(object -> ModelBuilder.this.with(subjext, predicate, object, contexts)).orElse(this); }