001package co.codewizards.cloudstore.ls.client.util; 002 003import static java.util.Objects.*; 004 005import co.codewizards.cloudstore.core.io.IInputStream; 006import co.codewizards.cloudstore.core.io.IOutputStream; 007import co.codewizards.cloudstore.core.oio.File; 008import co.codewizards.cloudstore.ls.client.LocalServerClient; 009 010/** 011 * Utility class for operating on a {@link File} instance inside the LocalServer's VM. 012 * <p> 013 * Most importantly, this is used to create instances of {@link IInputStream} or 014 * {@link IOutputStream} inside the LocalServer's VM. 015 * 016 * @author Marco หงุ่ยตระกูล-Schulze - marco at codewizards dot co 017 */ 018public class FileLs { 019 020 private FileLs() { 021 } 022 023 public static IInputStream createInputStream(final File file) { 024 requireNonNull(file, "file"); 025 IInputStream in = LocalServerClient.getInstance().invoke(file, "createInputStream"); 026 return in; 027 } 028 029 public static IOutputStream createOutputStream(final File file) { 030 requireNonNull(file, "file"); 031 IOutputStream out = LocalServerClient.getInstance().invoke(file, "createOutputStream"); 032 return out; 033 } 034 035 public static IOutputStream createOutputStream(final File file, boolean append) { 036 requireNonNull(file, "file"); 037 IOutputStream out = LocalServerClient.getInstance().invoke(file, "createOutputStream", append); 038 return out; 039 } 040}