EventsMetaData.java

package com.tradecloud.domain.configuration;

import com.tradecloud.common.base.PersistenceBase;

import javax.persistence.MappedSuperclass;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlElement;
import java.io.Serializable;
import java.util.List;

/**
 * Created by ds on 2016/11/21.
 *
 * @param <T>
 */
@MappedSuperclass
public abstract class EventsMetaData<T extends EventConfig> extends PersistenceBase implements Serializable, Comparable<EventsMetaData> {
    @XmlElement(name = "event")
    @NotNull
    private String event;

    public String getEvent() {
        return event;
    }

    public void setEvent(String event) {
        this.event = event;
    }

    @Override
    public int compareTo(EventsMetaData o) {
        return event.compareTo(o.getEvent());
    }

    public abstract List<T> getEvents();
}