package net.sourceforge.mayfly.datastore;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.SQLException;
import net.sourceforge.mayfly.MayflySqlException;
import net.sourceforge.mayfly.UnimplementedException;
import net.sourceforge.mayfly.jdbc.JdbcBlob;
import net.sourceforge.mayfly.parser.Location;
import net.sourceforge.mayfly.util.ImmutableByteArray;
public class BinaryCell extends Cell {
private final ImmutableByteArray data;
public BinaryCell(ImmutableByteArray array) {
this.data = array;
}
public BinaryCell(byte[] array) {
this.data = new ImmutableByteArray(array);
}
public BinaryCell(byte singleByte) {
this(new byte[] { singleByte });
}
@Override
public String asBriefString() {
return "binary data";
}
@Override
public int compareTo(Cell otherCell, Location location) {
throw new UnimplementedException(location);
}
@Override
public String displayName() {
return "binary data";
}
@Override
public String asSql() {
return data.asSql();
}
@Override
public InputStream asBinaryStream() throws SQLException {
return data.asBinaryStream();
}
@Override
public Blob asBlob() throws MayflySqlException {
return new JdbcBlob(data);
}
@Override
public byte[] asBytes() throws SQLException {
return data.asBytes();
}
}