package se.cth.hedgehogphoto.objects; import java.util.List; public class ImageObject implements FileObject { private String filePath, fileName, date, artist, coverPath,comment, albumName,location = ""; private List<String> tags; private String tag; private LocationGPSObject locationObject = new LocationGPSObject(""); private boolean legitGPSInfo; public ImageObject() { } public void setProperty(String property, String value) { switch(property) { case "Modify Date": setDate(value); break; case "Artist": setArtist(value); break; case "XPComment": setComment(value); break; case "XPKeywords": setTag(value); break; case "File Path": setFilePath(value); break; case "File Name": setFileName(value); break; case "Interop Index": setFirstGPSDirection(value); break; case "Interop Version": setLatitude(value); break; case "Unknown Tag (0x3)": setSecondGPSDirection(value); break; case "Unknown Tag (0x4)": setLongitude(value); break; default: break; } } public String getAlbumName() { return this.albumName; } public void setAlbumName(String albumName) { this.albumName = albumName; } public String getTag() { return this.tag; } public void setTag(String tag) { this.tag = tag; } public List<String> getTags() { return this.tags; } public void setTags(List<String> tags) { this.tags = tags; } public String getDate() { return this.date; } public void setDate(String date) { this.date = date; } public String getArtist() { return this.artist; } private void setArtist(String artist) { this.artist = artist; } public String getComment() { return this.comment; } public void setComment(String comment) { this.comment = comment; } public String getFilePath() { return this.filePath; } public void setFilePath(String filePath) { this.filePath = filePath; } public String getFileName() { return this.fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public LocationGPSObject getLocationObject() { return this.locationObject; } public String getLocation() { return this.location; } private void setLongitude(String longitude) { if (legitGPSInfo) { locationObject.setLongitude(longitude); } } private void setLatitude(String latitude) { if (legitGPSInfo) { locationObject.setLatitude(latitude); } } private void setFirstGPSDirection(String value) { value = value.trim(); this.legitGPSInfo = value.equals("\'N\'") || value.equals("\'S\'"); } private void setSecondGPSDirection(String value) { value = value.trim(); this.legitGPSInfo = value.equals("\'W\'") || value.equals("\'E\'"); } @Override public void setLocationObject(LocationGPSObject locationObject) { this.locationObject=locationObject; this.location=locationObject.getLocation(); } @Override public void setCoverPath(String coverPath) { this.coverPath = coverPath; } @Override public String getCoverPath(){ return this.coverPath; } @Override public String toString() { return "[name=" + fileName + "] [location=" + location + "] [date=" + date + "] [tag=" + tags + "] [comments= " + comment +"] [albumName=" + albumName + "]" + "Path= " + filePath + "]"; } }