com.vsct.supervision.seyren.api.Subscription.java Source code

Java tutorial

Introduction

Here is the source code for com.vsct.supervision.seyren.api.Subscription.java

Source

/*
 * This file is part of the Cerebro distribution.
 * (https://github.com/voyages-sncf-technologies/cerebro)
 * Copyright (C) 2017 VSCT.
 *
 * Cerebro is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, version 3 of the License.
 *
 * Cerebro is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

package com.vsct.supervision.seyren.api;

import java.util.Objects;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;

/**
 * This class represents something wanting to be notified of an alert
 */
public class Subscription {

    private String id;
    private String target;
    private SubscriptionType type;
    private boolean su, mo, tu, we, th, fr, sa;
    private boolean ignoreWarn, ignoreError, ignoreOk, ignoreUnknown;
    private String fromTime;
    private String toTime;
    private boolean enabled;

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    public String getId() {
        return id;
    }

    public void setId(final String id) {
        this.id = id;
    }

    public String getTarget() {
        return target;
    }

    public void setTarget(final String target) {
        this.target = target;
    }

    public SubscriptionType getType() {
        return type;
    }

    public void setType(final SubscriptionType type) {
        this.type = type;
    }

    public boolean isSu() {
        return su;
    }

    public void setSu(final boolean su) {
        this.su = su;
    }

    public boolean isMo() {
        return mo;
    }

    public void setMo(final boolean mo) {
        this.mo = mo;
    }

    public boolean isTu() {
        return tu;
    }

    public void setTu(final boolean tu) {
        this.tu = tu;
    }

    public boolean isWe() {
        return we;
    }

    public void setWe(final boolean we) {
        this.we = we;
    }

    public boolean isTh() {
        return th;
    }

    public void setTh(final boolean th) {
        this.th = th;
    }

    public boolean isFr() {
        return fr;
    }

    public void setFr(final boolean fr) {
        this.fr = fr;
    }

    public boolean isSa() {
        return sa;
    }

    public void setSa(final boolean sa) {
        this.sa = sa;
    }

    public boolean isIgnoreWarn() {
        return ignoreWarn;
    }

    public void setIgnoreWarn(final boolean ignoreWarn) {
        this.ignoreWarn = ignoreWarn;
    }

    public boolean isIgnoreError() {
        return ignoreError;
    }

    public void setIgnoreError(final boolean ignoreError) {
        this.ignoreError = ignoreError;
    }

    public boolean isIgnoreOk() {
        return ignoreOk;
    }

    public void setIgnoreOk(final boolean ignoreOk) {
        this.ignoreOk = ignoreOk;
    }

    public boolean isIgnoreUnknown() {
        return ignoreUnknown;
    }

    public void setIgnoreUnknown(final boolean ignoreUnknown) {
        this.ignoreUnknown = ignoreUnknown;
    }

    public String getFromTime() {
        return fromTime;
    }

    public void setFromTime(final String fromTime) {
        this.fromTime = fromTime;
    }

    public String getToTime() {
        return toTime;
    }

    public void setToTime(final String toTime) {
        this.toTime = toTime;
    }

    public boolean isEnabled() {
        return enabled;
    }

    public void setEnabled(final boolean enabled) {
        this.enabled = enabled;
    }

    /**
     * Tests equality, "enabled" and "id" IS NOT compared.
     *
     * @param o subscription to compare to this
     * @return true if o is equal to this
     */
    @Override
    public boolean equals(Object o) {//NOSONAR
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        Subscription that = (Subscription) o;
        return su == that.su && mo == that.mo && tu == that.tu && we == that.we && th == that.th && fr == that.fr
                && sa == that.sa && ignoreWarn == that.ignoreWarn && ignoreError == that.ignoreError
                && ignoreOk == that.ignoreOk && ignoreUnknown == that.ignoreUnknown
                && StringUtils.equalsIgnoreCase(target, that.target) && type == that.type
                && Objects.equals(fromTime, that.fromTime) && Objects.equals(toTime, that.toTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(target, type, su, mo, tu, we, th, fr, sa, ignoreWarn, ignoreError, ignoreOk,
                ignoreUnknown, fromTime, toTime);
    }
}