package org.opentripplanner.api.model.alertpatch; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import org.opentripplanner.routing.alertpatch.Alert; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; import java.util.Date; import java.util.Locale; @XmlRootElement(name = "Alert") public class LocalizedAlert { @XmlTransient @JsonIgnore public Alert alert; @XmlTransient @JsonIgnore private Locale locale; public LocalizedAlert(Alert alert, Locale locale) { this.alert = alert; this.locale = locale; } public LocalizedAlert(){ } @XmlAttribute @JsonSerialize public String getAlertHeaderText() { if (alert.alertHeaderText == null) { return null; } return alert.alertHeaderText.toString(locale); } @XmlAttribute @JsonSerialize public String getAlertDescriptionText() { if (alert.alertDescriptionText == null) { return null; } return alert.alertDescriptionText.toString(locale); } @XmlAttribute @JsonSerialize public String getAlertUrl() { if (alert.alertUrl == null) { return null; } return alert.alertUrl.toString(locale); } //null means unknown @XmlElement @JsonSerialize public Date getEffectiveStartDate() { return alert.effectiveStartDate; } }