OverstayTransactionEvent.java

package com.tradecloud.domain.event;

import com.tradecloud.domain.demurrage.DemurrageTransactionState;

import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

@Entity
@Table(name = "overstaytransactionevent")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "OverstayTransactionEvent")
public class OverstayTransactionEvent extends Event implements EnumTypedEvent<DemurrageTransactionState> {

    /**
     * UID.
     */
    private static final long serialVersionUID = 1L;

    /**
     * Event type.
     */
    @Enumerated(EnumType.STRING)
    private DemurrageTransactionState eventType;

    public OverstayTransactionEvent() {

    }

    public OverstayTransactionEvent(DemurrageTransactionState eventType, String username) {
        super(username);
        this.eventType = eventType;
    }

    public OverstayTransactionEvent(DemurrageTransactionState eventType, String username, String reason) {
        super(username);
        this.eventType = eventType;
        setReason(reason);
    }

    @Override
    public DemurrageTransactionState getEventType() {
        return eventType;
    }

    @Override
    public void setEventType(DemurrageTransactionState eventTypeParam) {
        this.eventType = eventTypeParam;
    }
}