2019-03-07 05:31:30 +01:00
|
|
|
package com.songoda.ultimatemoderation.tickets;
|
|
|
|
|
2019-03-09 02:12:34 +01:00
|
|
|
import org.bukkit.Location;
|
2019-03-07 05:31:30 +01:00
|
|
|
import org.bukkit.OfflinePlayer;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.UUID;
|
|
|
|
|
|
|
|
public class Ticket {
|
|
|
|
|
|
|
|
private int ticketId;
|
|
|
|
|
|
|
|
private TicketStatus status = TicketStatus.OPEN;
|
2019-03-09 02:12:34 +01:00
|
|
|
private Location location = null;
|
|
|
|
|
|
|
|
private String type;
|
2019-03-07 05:31:30 +01:00
|
|
|
|
|
|
|
private final List<TicketResponse> tickets = new ArrayList<>();
|
|
|
|
private final UUID victim;
|
|
|
|
private final String subject;
|
|
|
|
|
2019-03-09 02:12:34 +01:00
|
|
|
public Ticket(OfflinePlayer victim, String subject, String type) {
|
2019-03-07 05:31:30 +01:00
|
|
|
this.victim = victim.getUniqueId();
|
|
|
|
this.subject = subject;
|
2019-03-09 02:12:34 +01:00
|
|
|
this.type = type;
|
2019-03-07 05:31:30 +01:00
|
|
|
}
|
|
|
|
|
2019-03-09 02:12:34 +01:00
|
|
|
public Ticket(UUID victim, String subject, String type) {
|
2019-03-07 05:31:30 +01:00
|
|
|
this.victim = victim;
|
|
|
|
this.subject = subject;
|
2019-03-09 02:12:34 +01:00
|
|
|
this.type = type;
|
2019-03-07 05:31:30 +01:00
|
|
|
}
|
|
|
|
|
2019-03-09 02:12:34 +01:00
|
|
|
public Ticket(OfflinePlayer victim, String subject, String type, TicketResponse response) {
|
2019-03-07 05:31:30 +01:00
|
|
|
this.victim = victim.getUniqueId();
|
|
|
|
this.subject = subject;
|
2019-03-09 02:12:34 +01:00
|
|
|
this.type = type;
|
2019-03-07 05:31:30 +01:00
|
|
|
this.tickets.add(response);
|
|
|
|
}
|
|
|
|
|
2019-03-09 02:12:34 +01:00
|
|
|
public Ticket(UUID victim, String subject, String type, TicketResponse response) {
|
2019-03-07 05:31:30 +01:00
|
|
|
this.victim = victim;
|
|
|
|
this.subject = subject;
|
2019-03-09 02:12:34 +01:00
|
|
|
this.type = type;
|
2019-03-07 05:31:30 +01:00
|
|
|
this.tickets.add(response);
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getTicketId() {
|
|
|
|
return ticketId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setTicketId(int ticketId) {
|
|
|
|
this.ticketId = ticketId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<TicketResponse> getResponses() {
|
|
|
|
return new ArrayList<>(tickets);
|
|
|
|
}
|
|
|
|
|
|
|
|
public TicketResponse addResponse(TicketResponse response) {
|
|
|
|
response.setTicketId(ticketId);
|
|
|
|
tickets.add(response);
|
|
|
|
return response;
|
|
|
|
}
|
|
|
|
|
|
|
|
public TicketResponse removeResponse(TicketResponse response) {
|
|
|
|
tickets.remove(response);
|
|
|
|
return response;
|
|
|
|
}
|
|
|
|
|
|
|
|
public UUID getVictim() {
|
|
|
|
return victim;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getSubject() {
|
|
|
|
return subject;
|
|
|
|
}
|
|
|
|
|
|
|
|
public long getCreationDate() {
|
|
|
|
return tickets.get(0).getPostedDate();
|
|
|
|
}
|
|
|
|
|
|
|
|
public TicketStatus getStatus() {
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setStatus(TicketStatus status) {
|
|
|
|
this.status = status;
|
|
|
|
}
|
2019-03-09 02:12:34 +01:00
|
|
|
|
|
|
|
public String getType() {
|
|
|
|
return type;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Location getLocation() {
|
|
|
|
return location;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setLocation(Location location) {
|
|
|
|
this.location = location;
|
|
|
|
}
|
2019-03-07 05:31:30 +01:00
|
|
|
}
|