UltimateModeration/src/main/java/com/songoda/ultimatemoderation/tickets/Ticket.java

98 lines
2.1 KiB
Java
Raw Normal View History

2019-03-07 05:31:30 +01:00
package com.songoda.ultimatemoderation.tickets;
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 {
2020-08-05 00:20:25 +02:00
private int id;
2019-03-07 05:31:30 +01:00
private TicketStatus status = TicketStatus.OPEN;
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;
public Ticket(OfflinePlayer victim, String subject, String type) {
2019-03-07 05:31:30 +01:00
this.victim = victim.getUniqueId();
this.subject = subject;
this.type = type;
2019-03-07 05:31:30 +01:00
}
public Ticket(UUID victim, String subject, String type) {
2019-03-07 05:31:30 +01:00
this.victim = victim;
this.subject = subject;
this.type = type;
2019-03-07 05:31:30 +01:00
}
2020-08-05 00:20:25 +02:00
public Ticket(int id, UUID victim, String subject, String type, TicketStatus status, Location location) {
this.id = id;
2019-03-07 05:31:30 +01:00
this.victim = victim;
this.subject = subject;
this.type = type;
2020-08-05 00:20:25 +02:00
this.status = status;
this.location = location;
2019-03-07 05:31:30 +01:00
}
2020-08-05 00:20:25 +02:00
public int getId() {
return id;
2019-03-07 05:31:30 +01:00
}
2020-08-05 00:20:25 +02:00
public void setId(int id) {
this.id = id;
2019-03-07 05:31:30 +01:00
}
public List<TicketResponse> getResponses() {
return new ArrayList<>(tickets);
}
public TicketResponse addResponse(TicketResponse response) {
2020-08-05 00:20:25 +02:00
response.setTicketId(id);
2019-03-07 05:31:30 +01:00
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;
}
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
}