EnumHelper + setDeck /deck + getDeck /deck + getDeckPlain + /deck?format=plain + started Trading

This commit is contained in:
2020-12-30 14:40:24 +01:00
parent e7f3679e0f
commit 0df6ff129e
14 changed files with 463 additions and 95 deletions

View File

@@ -1,43 +1,83 @@
package at.reisinger;
import at.reisinger.server.helper.EnumHelper;
import com.fasterxml.jackson.annotation.*;
/**
* Ein einzelner Trading deal wird hier verwaltet.
*/
@JsonAutoDetect
public class TradingDeal {
//private User tradingUser;
@JsonProperty
private String id, username;
@JsonProperty
private Card cardToTrade;
@JsonProperty
private ElementTyp requiredElementType;
@JsonProperty
private double requiredMinDamage;
@JsonProperty
private CardType requiredCardType;
/**
* Ein at.reisinger.TradingDeal wird erstellt
* @param user at.reisinger.User des Deals
* Ein TradingDeal wird erstellt
* @param id Id des Trading deals
* @param cardToTrade at.reisinger.Card die getauscht werden soll
* @param requiredElementType Req ElementType für den Tausch
* @param requiredMinDamage Req min damage für den Tausch
* @param requiredCardType Req at.reisinger.Card Type für den Tausch
*/
public TradingDeal(User user, Card cardToTrade, ElementTyp requiredElementType, double requiredMinDamage, CardType requiredCardType) {
//this.tradingUser = user;
public TradingDeal(String id, Card cardToTrade, ElementTyp requiredElementType, double requiredMinDamage, CardType requiredCardType, String username) {
this.id = id;
this.cardToTrade = cardToTrade;
if(requiredElementType == null){
requiredElementType = ElementTyp.UNDEF;
}
if(requiredCardType == null) {
requiredCardType = CardType.UNDEF;
}
this.requiredElementType = requiredElementType;
this.requiredMinDamage = requiredMinDamage;
this.requiredCardType = requiredCardType;
this.username = username;
}
/**
* Holt den Trading at.reisinger.User
* @return at.reisinger.User der den Trade erstellt hat
public User getTradingUser() {
return this.tradingUser;
* Ein TradingDeal wird erstellt, anhand des type werden der ElementType und der CardType automatisch bestimmt
* @param id Id des Trading deals
* @param cardToTrade at.reisinger.Card die getauscht werden soll
* @param type ElementTyp und CardType in einem String. Beide Enums werden durch diesen String gewählt.
* Wird kein passender Typ gefunden, dann bleibt diese Eigenschaft auf null
*/
@JsonCreator
public TradingDeal(@JsonProperty("Id") String id, @JsonProperty("CardToTrade") Card cardToTrade, @JsonProperty("MinimumDamage") double requiredMinDamage, @JsonProperty("Type") String type, String username) {
this(id, cardToTrade, EnumHelper.stringToElementType(type), requiredMinDamage, EnumHelper.stringToCardType(type), username);
}
*/
/**
* Holt den usernamen
* @return Der username als String
*/
@JsonGetter
public String getUsername() {
return username;
}
/**
* Setzt den usernamen
* @param username Der username als String
*/
@JsonSetter
public void setUsername(String username) {
this.username = username;
}
/**
* at.reisinger.Card die getraded werden soll
* @return at.reisinger.Card die getradet werden soll
*/
@JsonGetter
public Card getCardToTrade() {
return this.cardToTrade;
}
@@ -46,6 +86,7 @@ public class TradingDeal {
* Req Element type holen
* @return Req Element Type
*/
@JsonGetter
public ElementTyp getRequiredElementType() {
return this.requiredElementType;
}
@@ -54,6 +95,7 @@ public class TradingDeal {
* Req min damage holen
* @return Req min damage
*/
@JsonGetter
public double getRequiredMinDamage() {
return this.requiredMinDamage;
}
@@ -62,6 +104,7 @@ public class TradingDeal {
* Hole req cardtype
* @return Req at.reisinger.CardType
*/
@JsonGetter
public CardType getRequiredCardType() {
return this.requiredCardType;
}
@@ -78,6 +121,7 @@ public class TradingDeal {
* Setzt die Karte die Getradet werden soll
* @param cardToTrade at.reisinger.Card zum tauschen
*/
@JsonSetter
public void setCardToTrade(Card cardToTrade) {
this.cardToTrade = cardToTrade;
}
@@ -86,6 +130,7 @@ public class TradingDeal {
* Setzt req elementType
* @param requiredElementType Der Req elementType
*/
@JsonSetter
public void setRequiredElementType(ElementTyp requiredElementType) {
this.requiredElementType = requiredElementType;
}
@@ -94,6 +139,7 @@ public class TradingDeal {
* Setzt die req Min damage
* @param requiredMinDamage Die req min gamage
*/
@JsonSetter
public void setRequiredMinDamage(double requiredMinDamage) {
this.requiredMinDamage = requiredMinDamage;
}
@@ -102,6 +148,7 @@ public class TradingDeal {
* Setzt req cardType
* @param requiredCardType Der Req at.reisinger.CardType
*/
@JsonSetter
public void setRequiredCardType(CardType requiredCardType) {
this.requiredCardType = requiredCardType;
}