Skip to content

Commit

Permalink
Merged UrlAsInput into InputOf
Browse files Browse the repository at this point in the history
  • Loading branch information
ixmanuel committed Jul 21, 2017
1 parent af61f22 commit 2885eb9
Show file tree
Hide file tree
Showing 6 changed files with 166 additions and 254 deletions.
90 changes: 64 additions & 26 deletions src/main/java/org/cactoos/io/InputOf.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,10 @@
import java.net.URL;
import java.nio.file.Path;
import org.cactoos.Bytes;
import org.cactoos.Func;
import org.cactoos.func.IoCheckedScalar;
import org.cactoos.Input;
import org.cactoos.Scalar;
import org.cactoos.Text;
import org.cactoos.func.IoCheckedScalar;
import org.cactoos.func.UncheckedScalar;

/**
Expand All @@ -57,37 +56,85 @@ public final class InputOf implements Input {
/**
* Ctor.
*
* @param src The file
* @param file The file
*/
public InputOf(final File file) {
this(() -> file);
}

/**
* Ctor.
*
* @param scalar The scalar of the file
*/
public InputOf(final Scalar<File> scalar) {
this(new UncheckedScalar<>(scalar));
}

/**
* Ctor.
*
* @param scalar The unchecked scalar of the file
*/
public InputOf(final UncheckedScalar<File> scalar) {
this(() -> new FileInputStream(scalar.value()));
}

/**
* Ctor.
*
* @param path The path
*/
public InputOf(final Path path) {
this(() -> new FileInputStream(path.toFile()));
}

/**
* Ctor.
*
* @param stream The stream
*/
public InputOf(final File src) {
this(() -> src);
public InputOf(final InputStream stream) {
this(new InputStreamAsInput(stream));
}

/**
* Ctor.
*
* @param src The file
* @param string The URL
*/
public InputOf(final Scalar<File> src) {
this(new UncheckedScalar<>(src));
public InputOf(final String string) {
this(() -> {
return new IoCheckedScalar<URL>(
() -> new URL(string)
).value().openStream();
});
}

/**
* Ctor.
*
* @param src The file
* @param uri The URL
*/
public InputOf(final UncheckedScalar<File> src) {
this(() -> new FileInputStream(src.value()));
public InputOf(final URI uri) {
this(() -> {
return new IoCheckedScalar<URL>(
() -> uri.toURL()
).value().openStream();
});
}

/**
* Ctor.
*
* @param src The path
* @param url The URL
*/
public InputOf(final Path src) {
this(() -> new FileInputStream(src.toFile()));
public InputOf(final URL url) {
this(() -> {
return new IoCheckedScalar<URL>(
() -> url
).value().openStream();
});
}

/**
Expand Down Expand Up @@ -120,19 +167,10 @@ public InputOf(final Bytes bytes) {
/**
* Ctor.
*
* @param stream The stream
*/
public InputOf(final InputStream stream) {
this(new InputStreamAsInput(stream));
}

/**
* Ctor.
*
* @param src The input
* @param input The input
*/
public InputOf(final Input src) {
this.origin = src;
public InputOf(final Input input) {
this.origin = input;
}

@Override
Expand Down
89 changes: 0 additions & 89 deletions src/main/java/org/cactoos/io/UrlAsInput.java

This file was deleted.

Loading

0 comments on commit 2885eb9

Please sign in to comment.