EventConfig.java

package com.tradecloud.domain.configuration;

import com.tradecloud.authentication.User;
import com.tradecloud.common.base.PersistenceBase;

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

/**
 * Created by ds on 2016/11/21.
 */
@MappedSuperclass
public abstract class EventConfig<T extends EventsMetaData> extends PersistenceBase implements Serializable {

    @XmlAttribute
    @NotNull
    private boolean inUse;

    @XmlAttribute
    @NotNull
    private boolean editable;

    public boolean isInUse() {
        return inUse;
    }

    public void setInUse(boolean inUse) {
        this.inUse = inUse;
    }

    public boolean isEditable() {
        return editable;
    }

    public void setEditable(boolean editable) {
        this.editable = editable;
    }

    public abstract Set<User> getUsers();

    public abstract void setEventsMetaData(T eventsMetaData);

}