package org.webinos.api.mediacontent;
import java.util.Map;
/* FIXME:
* Move Android dependence from org/webinos/api to org/webinos/android/impl */
import android.provider.MediaStore;
public class MediaImage extends MediaItem {
public static String ORIENTATION_NORMAL = "NORMAL";
public static String ORIENTATION_FLIP_HORIZONTAL = "FLIP_HORIZONTAL";
public static String ORIENTATION_ROTATE_180 = "ROTATE_180";
public static String ORIENTATION_FLIP_VERTICAL = "FLIP_VERTICAL";
public static String ORIENTATION_TRANSPOSE = "TRANSPOSE";
public static String ORIENTATION_ROTATE_90 = "ROTATE_90";
public static String ORIENTATION_TRANSVERSE = "TRANSVERSE";
public static String ORIENTATION_ROTATE_270 = "ROTATE_270";
@CompositeDbFieldMapping(compositeHandlerClass = "GeoCompositor",
fields = { @SingleDbFieldMapping(name = MediaStore.Images.ImageColumns.LATITUDE),
@SingleDbFieldMapping(name = MediaStore.Images.ImageColumns.LONGITUDE) })
public SimpleCoordinates geolocation;
//@SingleDbFieldMapping(name = MediaStore.Files.FileColumns.WIDTH)
public long width;
//@SingleDbFieldMapping(name = MediaStore.Files.FileColumns.HEIGHT)
public long height;
@SingleDbFieldMapping(name = MediaStore.Images.ImageColumns.ORIENTATION,
translatorClass = "OrientationTranslator")
public String orientation;
public MediaImage() {
super();
}
public MediaImage(Map<String, Object> valueSet) {
super(valueSet);
if (valueSet.containsKey("geolocation")) {
this.geolocation = (SimpleCoordinates) valueSet.get("geolocation");
}
if (valueSet.containsKey("width")) {
this.width = (Long) valueSet.get("width");
}
if (valueSet.containsKey("height")) {
this.height = (Long) valueSet.get("height");
}
if (valueSet.containsKey("orientation")) {
this.orientation = (String) valueSet.get("orientation");
}
}
}