All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.atlan.model.structs.MCRuleSchedule Maven / Gradle / Ivy

There is a newer version: 3.0.0
Show newest version
// Generated by delombok at Wed Oct 16 22:16:04 UTC 2024
/* SPDX-License-Identifier: Apache-2.0
   Copyright 2022 Atlan Pte. Ltd. */
package com.atlan.model.structs;

import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.annotation.processing.Generated;
import lombok.*;

/**
 * Detailed information about the schedule for a Monte Carlo rule.
 */
@Generated("com.atlan.generators.ModelGeneratorV2")
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = MCRuleSchedule.MCRuleScheduleBuilderImpl.class)
public class MCRuleSchedule extends AtlanStruct {
    private static final long serialVersionUID = 2L;
    public static final String TYPE_NAME = "MCRuleSchedule";
    /**
     * Fixed typeName for MCRuleSchedule.
     */
    @JsonIgnore
    String typeName;
    /**
     * Type of schedule for the rule, for example dynamic or manual.
     */
    String mcRuleScheduleType;
    /**
     * How often the monitor should run, in minutes.
     */
    Integer mcRuleScheduleIntervalInMinutes;
    /**
     * When the first execution of the rule should occur (blank means immediate).
     */
    Long mcRuleScheduleStartTime;
    /**
     * Crontab for the schedule.
     */
    String mcRuleScheduleCrontab;

    /**
     * Quickly create a new MCRuleSchedule.
     * @param mcRuleScheduleType Type of schedule for the rule, for example dynamic or manual.
     * @param mcRuleScheduleIntervalInMinutes How often the monitor should run, in minutes.
     * @param mcRuleScheduleStartTime When the first execution of the rule should occur (blank means immediate).
     * @param mcRuleScheduleCrontab Crontab for the schedule.
     * @return a MCRuleSchedule with the provided information
     */
    public static MCRuleSchedule of(String mcRuleScheduleType, Integer mcRuleScheduleIntervalInMinutes, Long mcRuleScheduleStartTime, String mcRuleScheduleCrontab) {
        return MCRuleSchedule.builder().mcRuleScheduleType(mcRuleScheduleType).mcRuleScheduleIntervalInMinutes(mcRuleScheduleIntervalInMinutes).mcRuleScheduleStartTime(mcRuleScheduleStartTime).mcRuleScheduleCrontab(mcRuleScheduleCrontab).build();
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    private static String $default$typeName() {
        return TYPE_NAME;
    }


    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public static abstract class MCRuleScheduleBuilder> extends AtlanStruct.AtlanStructBuilder {
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private boolean typeName$set;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String typeName$value;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String mcRuleScheduleType;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private Integer mcRuleScheduleIntervalInMinutes;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private Long mcRuleScheduleStartTime;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String mcRuleScheduleCrontab;

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected B $fillValuesFrom(final C instance) {
            super.$fillValuesFrom(instance);
            MCRuleSchedule.MCRuleScheduleBuilder.$fillValuesFromInstanceIntoBuilder(instance, this);
            return self();
        }

        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private static void $fillValuesFromInstanceIntoBuilder(final MCRuleSchedule instance, final MCRuleSchedule.MCRuleScheduleBuilder b) {
            b.typeName(instance.typeName);
            b.mcRuleScheduleType(instance.mcRuleScheduleType);
            b.mcRuleScheduleIntervalInMinutes(instance.mcRuleScheduleIntervalInMinutes);
            b.mcRuleScheduleStartTime(instance.mcRuleScheduleStartTime);
            b.mcRuleScheduleCrontab(instance.mcRuleScheduleCrontab);
        }

        /**
         * Fixed typeName for MCRuleSchedule.
         * @return {@code this}.
         */
        @JsonIgnore
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B typeName(final String typeName) {
            this.typeName$value = typeName;
            typeName$set = true;
            return self();
        }

        /**
         * Type of schedule for the rule, for example dynamic or manual.
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B mcRuleScheduleType(final String mcRuleScheduleType) {
            this.mcRuleScheduleType = mcRuleScheduleType;
            return self();
        }

        /**
         * How often the monitor should run, in minutes.
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B mcRuleScheduleIntervalInMinutes(final Integer mcRuleScheduleIntervalInMinutes) {
            this.mcRuleScheduleIntervalInMinutes = mcRuleScheduleIntervalInMinutes;
            return self();
        }

        /**
         * When the first execution of the rule should occur (blank means immediate).
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B mcRuleScheduleStartTime(final Long mcRuleScheduleStartTime) {
            this.mcRuleScheduleStartTime = mcRuleScheduleStartTime;
            return self();
        }

        /**
         * Crontab for the schedule.
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B mcRuleScheduleCrontab(final String mcRuleScheduleCrontab) {
            this.mcRuleScheduleCrontab = mcRuleScheduleCrontab;
            return self();
        }

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected abstract B self();

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public abstract C build();

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public java.lang.String toString() {
            return "MCRuleSchedule.MCRuleScheduleBuilder(super=" + super.toString() + ", typeName$value=" + this.typeName$value + ", mcRuleScheduleType=" + this.mcRuleScheduleType + ", mcRuleScheduleIntervalInMinutes=" + this.mcRuleScheduleIntervalInMinutes + ", mcRuleScheduleStartTime=" + this.mcRuleScheduleStartTime + ", mcRuleScheduleCrontab=" + this.mcRuleScheduleCrontab + ")";
        }
    }


    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "", buildMethodName = "build")
    static final class MCRuleScheduleBuilderImpl extends MCRuleSchedule.MCRuleScheduleBuilder {
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private MCRuleScheduleBuilderImpl() {
        }

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected MCRuleSchedule.MCRuleScheduleBuilderImpl self() {
            return this;
        }

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public MCRuleSchedule build() {
            return new MCRuleSchedule(this);
        }
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected MCRuleSchedule(final MCRuleSchedule.MCRuleScheduleBuilder b) {
        super(b);
        if (b.typeName$set) this.typeName = b.typeName$value;
         else this.typeName = MCRuleSchedule.$default$typeName();
        this.mcRuleScheduleType = b.mcRuleScheduleType;
        this.mcRuleScheduleIntervalInMinutes = b.mcRuleScheduleIntervalInMinutes;
        this.mcRuleScheduleStartTime = b.mcRuleScheduleStartTime;
        this.mcRuleScheduleCrontab = b.mcRuleScheduleCrontab;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public static MCRuleSchedule.MCRuleScheduleBuilder builder() {
        return new MCRuleSchedule.MCRuleScheduleBuilderImpl();
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public MCRuleSchedule.MCRuleScheduleBuilder toBuilder() {
        return new MCRuleSchedule.MCRuleScheduleBuilderImpl().$fillValuesFrom(this);
    }

    /**
     * Type of schedule for the rule, for example dynamic or manual.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getMcRuleScheduleType() {
        return this.mcRuleScheduleType;
    }

    /**
     * How often the monitor should run, in minutes.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public Integer getMcRuleScheduleIntervalInMinutes() {
        return this.mcRuleScheduleIntervalInMinutes;
    }

    /**
     * When the first execution of the rule should occur (blank means immediate).
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public Long getMcRuleScheduleStartTime() {
        return this.mcRuleScheduleStartTime;
    }

    /**
     * Crontab for the schedule.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getMcRuleScheduleCrontab() {
        return this.mcRuleScheduleCrontab;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public boolean equals(final java.lang.Object o) {
        if (o == this) return true;
        if (!(o instanceof MCRuleSchedule)) return false;
        final MCRuleSchedule other = (MCRuleSchedule) o;
        if (!other.canEqual((java.lang.Object) this)) return false;
        if (!super.equals(o)) return false;
        final java.lang.Object this$mcRuleScheduleIntervalInMinutes = this.getMcRuleScheduleIntervalInMinutes();
        final java.lang.Object other$mcRuleScheduleIntervalInMinutes = other.getMcRuleScheduleIntervalInMinutes();
        if (this$mcRuleScheduleIntervalInMinutes == null ? other$mcRuleScheduleIntervalInMinutes != null : !this$mcRuleScheduleIntervalInMinutes.equals(other$mcRuleScheduleIntervalInMinutes)) return false;
        final java.lang.Object this$mcRuleScheduleStartTime = this.getMcRuleScheduleStartTime();
        final java.lang.Object other$mcRuleScheduleStartTime = other.getMcRuleScheduleStartTime();
        if (this$mcRuleScheduleStartTime == null ? other$mcRuleScheduleStartTime != null : !this$mcRuleScheduleStartTime.equals(other$mcRuleScheduleStartTime)) return false;
        final java.lang.Object this$typeName = this.getTypeName();
        final java.lang.Object other$typeName = other.getTypeName();
        if (this$typeName == null ? other$typeName != null : !this$typeName.equals(other$typeName)) return false;
        final java.lang.Object this$mcRuleScheduleType = this.getMcRuleScheduleType();
        final java.lang.Object other$mcRuleScheduleType = other.getMcRuleScheduleType();
        if (this$mcRuleScheduleType == null ? other$mcRuleScheduleType != null : !this$mcRuleScheduleType.equals(other$mcRuleScheduleType)) return false;
        final java.lang.Object this$mcRuleScheduleCrontab = this.getMcRuleScheduleCrontab();
        final java.lang.Object other$mcRuleScheduleCrontab = other.getMcRuleScheduleCrontab();
        if (this$mcRuleScheduleCrontab == null ? other$mcRuleScheduleCrontab != null : !this$mcRuleScheduleCrontab.equals(other$mcRuleScheduleCrontab)) return false;
        return true;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected boolean canEqual(final java.lang.Object other) {
        return other instanceof MCRuleSchedule;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public int hashCode() {
        final int PRIME = 59;
        int result = super.hashCode();
        final java.lang.Object $mcRuleScheduleIntervalInMinutes = this.getMcRuleScheduleIntervalInMinutes();
        result = result * PRIME + ($mcRuleScheduleIntervalInMinutes == null ? 43 : $mcRuleScheduleIntervalInMinutes.hashCode());
        final java.lang.Object $mcRuleScheduleStartTime = this.getMcRuleScheduleStartTime();
        result = result * PRIME + ($mcRuleScheduleStartTime == null ? 43 : $mcRuleScheduleStartTime.hashCode());
        final java.lang.Object $typeName = this.getTypeName();
        result = result * PRIME + ($typeName == null ? 43 : $typeName.hashCode());
        final java.lang.Object $mcRuleScheduleType = this.getMcRuleScheduleType();
        result = result * PRIME + ($mcRuleScheduleType == null ? 43 : $mcRuleScheduleType.hashCode());
        final java.lang.Object $mcRuleScheduleCrontab = this.getMcRuleScheduleCrontab();
        result = result * PRIME + ($mcRuleScheduleCrontab == null ? 43 : $mcRuleScheduleCrontab.hashCode());
        return result;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public java.lang.String toString() {
        return "MCRuleSchedule(super=" + super.toString() + ", typeName=" + this.getTypeName() + ", mcRuleScheduleType=" + this.getMcRuleScheduleType() + ", mcRuleScheduleIntervalInMinutes=" + this.getMcRuleScheduleIntervalInMinutes() + ", mcRuleScheduleStartTime=" + this.getMcRuleScheduleStartTime() + ", mcRuleScheduleCrontab=" + this.getMcRuleScheduleCrontab() + ")";
    }

    /**
     * Fixed typeName for MCRuleSchedule.
     */
    @Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getTypeName() {
        return this.typeName;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy