package co.codewizards.cloudstore.ls.client.util; import static co.codewizards.cloudstore.core.util.AssertUtil.*; import co.codewizards.cloudstore.core.io.ByteArrayInputStream; import co.codewizards.cloudstore.core.io.IByteArrayInputStream; import co.codewizards.cloudstore.core.io.IByteArrayOutputStream; import co.codewizards.cloudstore.ls.client.LocalServerClient; /** * Utility class for creating {@link ByteArrayInputStream}s inside the LocalServer's VM. * * @author Marco หงุ่ยตระกูล-Schulze - marco at codewizards dot co */ public final class ByteArrayInputStreamLs { private ByteArrayInputStreamLs() { } public static IByteArrayInputStream create(byte[] data) { assertNotNull(data, "data"); return LocalServerClient.getInstance().invokeConstructor(ByteArrayInputStream.class, new Class<?>[] { byte[].class }, data); } public static IByteArrayInputStream create(byte[] data, int offset, int length) { assertNotNull(data, "data"); return LocalServerClient.getInstance().invokeConstructor(ByteArrayInputStream.class, new Class<?>[] { byte[].class, int.class, int.class }, data, offset, length); } public static IByteArrayInputStream create(IByteArrayOutputStream bout) { return create(bout.toByteArray()); } public static IByteArrayInputStream create(IByteArrayOutputStream bout, int offset, int length) { return create(bout.toByteArray(), offset, length); } }