package marubinotto.piggydb.fixture.mock; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import org.apache.commons.fileupload.FileItem; import org.apache.commons.io.FileUtils; public class FileItemMock implements FileItem { public byte[] data; public String name; public String fieldName; public String contentType; public boolean isFormField = false; public FileItemMock(String fieldName, String name, byte[] data) { this.fieldName = fieldName; this.name = name; this.data = data; } public void delete() { throw new UnsupportedOperationException(); } public byte[] get() { return this.data; } public String getContentType() { return this.contentType; } public String getFieldName() { return this.fieldName; } public InputStream getInputStream() throws IOException { return new ByteArrayInputStream(data); } public String getName() { return this.name; } public OutputStream getOutputStream() throws IOException { throw new UnsupportedOperationException(); } public long getSize() { return this.data.length; } public String getString() { return new String(this.data); } public String getString(String encoding) throws UnsupportedEncodingException { return new String(this.data, encoding); } public boolean isFormField() { return this.isFormField; } public boolean isInMemory() { return true; } public void setFieldName(String fieldName) { this.fieldName = fieldName; } public void setFormField(boolean isFormField) { this.isFormField = isFormField; } public void write(File file) throws Exception { FileUtils.writeByteArrayToFile(file, this.data); } }