package com.example.cosmos_serversb.entities;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Request {
private String rId;
private String uri, IssuerUid, product;
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Tokyo")
//@JsonFormat(timezone = "Asia/Tokyo")
private Date date;
//@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Tokyo")
//@JsonFormat(timezone = "Asia/Tokyo")
private Date deadline;
private int location;// YahooローカルサーチAPIの業種コード
private boolean done = false;
public Request(){
}
public Request(String rId, String uri, Date date, String IssuerUid, String product, String deadline, int location){
setrId(rId);
setUri(uri);
setDate(date);
setIssuerUid(IssuerUid);
setProduct(product);
setDeadline(deadline);
setLocation(location);
this.done = false;
}
public Request(String rId, String uri, Date date, String IssuerUid, String product, Date deadline, int location){
setrId(rId);
setUri(uri);
setDate(date);
setIssuerUid(IssuerUid);
setProduct(product);
setDeadline(deadline);
setLocation(location);
this.done = false;
}
public void update(String uId, String product, String deadline, int location, boolean done){
setIssuerUid(uId);
setProduct(product);
setDeadline(deadline);
setLocation(location);
setDone(done);
}
private void setrId(String rId){
this.rId = rId;
}
public String getrId(){
return rId;
}
private void setUri(String uri){
this.uri = uri;
}
public String getUri(){
return uri;
}
private void setDate(Date date){
this.date = date;
}
public Date getDate() {
return date;
}
private void setIssuerUid(String IssuerUid){
this.IssuerUid = IssuerUid;
}
public String getIssuerUid(){
return IssuerUid;
}
public String getProduct() {
return product;
}
public void setProduct(String product) {
this.product = product;
}
public Date getDeadline() {
return deadline;
}
public void setDeadline(Date deadline) {
if(deadline == null){
return;
}
this.deadline = deadline;
}
public void setDeadline(String deadline) {
if(deadline == null){
return;
}
//String型をDate型に変換
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
this.deadline = sdf.parse(deadline);
}catch (ParseException e){
e.printStackTrace();
}
}
public int getLocation() {
return location;
}
public void setLocation(int location) {
//更新の際に上書きされないように
if(location != 0) {
this.location = location;
}
}
public boolean isDone() {
return done;
}
public boolean getDone() {
return done;
}
public void setDone(boolean done) {
this.done = done;
}
public boolean equals(Request request) {
return this.rId.equals(request.getrId());
}
}