diff --git a/src/main/java/NTNU/IDATT1002/models/Image.java b/src/main/java/NTNU/IDATT1002/models/Image.java index fae10d57d5c7dfd5e77468223843dbbda47610b2..9b916316bc1813d4a90980fd5549898c3958ddb6 100644 --- a/src/main/java/NTNU/IDATT1002/models/Image.java +++ b/src/main/java/NTNU/IDATT1002/models/Image.java @@ -5,15 +5,113 @@ import javax.persistence.*; import java.util.ArrayList; import java.util.List; +import java.util.Date; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.validation.constraints.NotBlank; +import org.hibernate.annotations.CreationTimestamp; + + @Entity @Table(name = "image") -public class Image { +public class Image { + + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + @ManyToMany + private List<ImageAlbum> imageAlbums = new ArrayList<>();; + + + @NotBlank + private int imageID; + + @NotBlank + private int albumID; + + @NotBlank + private int metaDataID; + + @NotBlank + @CreationTimestamp + private Date uploadAt; + + @NotBlank + private String path; + + public Image() { + } + + public Image(int imageID, int albumID, int metaDataId, Date uploadAt, String path) { + this.imageID = imageID; + this.albumID = albumID; + this.metaDataID = metaDataId; + this.uploadAt = uploadAt; + this.path = path; + } + + public Image(Image image) { + this(image.getImageID(), image.getAlbumID(), image.getMetaDataID(), image.getUploadAt(), image.getPath()); + } - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; + public void setImageID(int imageID) { + this.imageID = imageID; + } - @ManyToMany - private List<ImageAlbum> imageAlbums = new ArrayList<>();; + public void setAlbumID(int albumID) { + this.albumID = albumID; + } + public void setMetaDataID(int metaDataID) { + this.metaDataID = metaDataID; + } + + public void setUploadAt(Date uploadAt) { + this.uploadAt = uploadAt; + } + + public void setPath(String path) { + this.path = path; + } + + public int getImageID() { + return imageID; + } + + public int getAlbumID() { + return albumID; + } + + public int getMetaDataID() { + return metaDataID; + } + + public Date getUploadAt() { + return uploadAt; + } + + public String getPath() { + return path; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Image)) { + return false; + } + Image that = (Image) o; + return getImageID() == that.getImageID() && + getAlbumID() == that.getAlbumID(); + } } + + + + +