package io.lumify.core.model.artifactThumbnails; import com.altamiracorp.bigtable.model.ColumnFamily; import com.altamiracorp.bigtable.model.Value; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.IOException; public class BigTableArtifactThumbnailMetadata extends ColumnFamily { public static final String NAME = "metadata"; private static final String DATA = "data"; private static final String TYPE = "type"; private static final String FORMAT = "format"; public BigTableArtifactThumbnailMetadata() { super(NAME); } public byte[] getData() { return Value.toBytes(get(DATA)); } public BigTableArtifactThumbnailMetadata setData(byte[] data) { set(DATA, data); return this; } public int getType() { return Value.toInteger(get(TYPE)); } public BigTableArtifactThumbnailMetadata setType(int type) { set(TYPE, type); return this; } public String getFormat() { return Value.toString(get(FORMAT)); } public BigTableArtifactThumbnailMetadata setFormat(String format) { set(FORMAT, format); return this; } public BufferedImage getImage() { try { byte[] data = getData(); return ImageIO.read(new ByteArrayInputStream(data)); } catch (IOException e) { throw new RuntimeException("Could not load image", e); } } }