package com.usky.rule.vo;

import java.util.List;

public class RuleEngineContent {
    private Trigger trigger;
    private List<Constraints> constraints;
    private List<Actions> actions;

    public RuleEngineContent() {
    }

    public Trigger getTrigger() {
        return this.trigger;
    }

    public List<Constraints> getConstraints() {
        return this.constraints;
    }

    public List<Actions> getActions() {
        return this.actions;
    }

    public void setTrigger(final Trigger trigger) {
        this.trigger = trigger;
    }

    public void setConstraints(final List<Constraints> constraints) {
        this.constraints = constraints;
    }

    public void setActions(final List<Actions> actions) {
        this.actions = actions;
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof RuleEngineContent)) {
            return false;
        } else {
            RuleEngineContent other = (RuleEngineContent)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                Object this$trigger = this.getTrigger();
                Object other$trigger = other.getTrigger();
                if (this$trigger == null) {
                    if (other$trigger != null) {
                        return false;
                    }
                } else if (!this$trigger.equals(other$trigger)) {
                    return false;
                }

                Object this$constraints = this.getConstraints();
                Object other$constraints = other.getConstraints();
                if (this$constraints == null) {
                    if (other$constraints != null) {
                        return false;
                    }
                } else if (!this$constraints.equals(other$constraints)) {
                    return false;
                }

                Object this$actions = this.getActions();
                Object other$actions = other.getActions();
                if (this$actions == null) {
                    if (other$actions != null) {
                        return false;
                    }
                } else if (!this$actions.equals(other$actions)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof RuleEngineContent;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        Object $trigger = this.getTrigger();
        result = result * 59 + ($trigger == null ? 43 : $trigger.hashCode());
        Object $constraints = this.getConstraints();
        result = result * 59 + ($constraints == null ? 43 : $constraints.hashCode());
        Object $actions = this.getActions();
        result = result * 59 + ($actions == null ? 43 : $actions.hashCode());
        return result;
    }

    public String toString() {
        return "RuleEngineContent(trigger=" + this.getTrigger() + ", constraints=" + this.getConstraints() + ", actions=" + this.getActions() + ")";
    }

    public static class Trigger {
        private String autoTrigger;
        private String type;
        private String content;
        private String time;

        public Trigger() {
        }

        public String getAutoTrigger() {
            return this.autoTrigger;
        }

        public String getType() {
            return this.type;
        }

        public String getContent() {
            return this.content;
        }

        public String getTime() {
            return this.time;
        }

        public void setAutoTrigger(final String autoTrigger) {
            this.autoTrigger = autoTrigger;
        }

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

        public void setContent(final String content) {
            this.content = content;
        }

        public void setTime(final String time) {
            this.time = time;
        }

        public boolean equals(final Object o) {
            if (o == this) {
                return true;
            } else if (!(o instanceof Trigger)) {
                return false;
            } else {
                Trigger other = (Trigger)o;
                if (!other.canEqual(this)) {
                    return false;
                } else {
                    Object this$autoTrigger = this.getAutoTrigger();
                    Object other$autoTrigger = other.getAutoTrigger();
                    if (this$autoTrigger == null) {
                        if (other$autoTrigger != null) {
                            return false;
                        }
                    } else if (!this$autoTrigger.equals(other$autoTrigger)) {
                        return false;
                    }

                    Object this$type = this.getType();
                    Object other$type = other.getType();
                    if (this$type == null) {
                        if (other$type != null) {
                            return false;
                        }
                    } else if (!this$type.equals(other$type)) {
                        return false;
                    }

                    Object this$content = this.getContent();
                    Object other$content = other.getContent();
                    if (this$content == null) {
                        if (other$content != null) {
                            return false;
                        }
                    } else if (!this$content.equals(other$content)) {
                        return false;
                    }

                    Object this$time = this.getTime();
                    Object other$time = other.getTime();
                    if (this$time == null) {
                        if (other$time != null) {
                            return false;
                        }
                    } else if (!this$time.equals(other$time)) {
                        return false;
                    }

                    return true;
                }
            }
        }

        protected boolean canEqual(final Object other) {
            return other instanceof Trigger;
        }

        public int hashCode() {
            int PRIME = 59;
            int result = 1;
            Object $autoTrigger = this.getAutoTrigger();
            result = result * 59 + ($autoTrigger == null ? 43 : $autoTrigger.hashCode());
            Object $type = this.getType();
            result = result * 59 + ($type == null ? 43 : $type.hashCode());
            Object $content = this.getContent();
            result = result * 59 + ($content == null ? 43 : $content.hashCode());
            Object $time = this.getTime();
            result = result * 59 + ($time == null ? 43 : $time.hashCode());
            return result;
        }

        public String toString() {
            return "RuleEngineContent.Trigger(autoTrigger=" + this.getAutoTrigger() + ", type=" + this.getType() + ", content=" + this.getContent() + ", time=" + this.getTime() + ")";
        }
    }

    public static class Constraints {
        private String type;
        private String content;

        public Constraints() {
        }

        public String getType() {
            return this.type;
        }

        public String getContent() {
            return this.content;
        }

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

        public void setContent(final String content) {
            this.content = content;
        }

        public boolean equals(final Object o) {
            if (o == this) {
                return true;
            } else if (!(o instanceof Constraints)) {
                return false;
            } else {
                Constraints other = (Constraints)o;
                if (!other.canEqual(this)) {
                    return false;
                } else {
                    Object this$type = this.getType();
                    Object other$type = other.getType();
                    if (this$type == null) {
                        if (other$type != null) {
                            return false;
                        }
                    } else if (!this$type.equals(other$type)) {
                        return false;
                    }

                    Object this$content = this.getContent();
                    Object other$content = other.getContent();
                    if (this$content == null) {
                        if (other$content != null) {
                            return false;
                        }
                    } else if (!this$content.equals(other$content)) {
                        return false;
                    }

                    return true;
                }
            }
        }

        protected boolean canEqual(final Object other) {
            return other instanceof Constraints;
        }

        public int hashCode() {
            int PRIME = 59;
            int result = 1;
            Object $type = this.getType();
            result = result * 59 + ($type == null ? 43 : $type.hashCode());
            Object $content = this.getContent();
            result = result * 59 + ($content == null ? 43 : $content.hashCode());
            return result;
        }

        public String toString() {
            return "RuleEngineContent.Constraints(type=" + this.getType() + ", content=" + this.getContent() + ")";
        }
    }

    public static class Actions {
        private String type;
        private String content;
        private String time;

        public Actions() {
        }

        public String getType() {
            return this.type;
        }

        public String getContent() {
            return this.content;
        }

        public String getTime() {
            return this.time;
        }

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

        public void setContent(final String content) {
            this.content = content;
        }

        public void setTime(final String time) {
            this.time = time;
        }

        public boolean equals(final Object o) {
            if (o == this) {
                return true;
            } else if (!(o instanceof Actions)) {
                return false;
            } else {
                Actions other = (Actions)o;
                if (!other.canEqual(this)) {
                    return false;
                } else {
                    Object this$type = this.getType();
                    Object other$type = other.getType();
                    if (this$type == null) {
                        if (other$type != null) {
                            return false;
                        }
                    } else if (!this$type.equals(other$type)) {
                        return false;
                    }

                    Object this$content = this.getContent();
                    Object other$content = other.getContent();
                    if (this$content == null) {
                        if (other$content != null) {
                            return false;
                        }
                    } else if (!this$content.equals(other$content)) {
                        return false;
                    }

                    Object this$time = this.getTime();
                    Object other$time = other.getTime();
                    if (this$time == null) {
                        if (other$time != null) {
                            return false;
                        }
                    } else if (!this$time.equals(other$time)) {
                        return false;
                    }

                    return true;
                }
            }
        }

        protected boolean canEqual(final Object other) {
            return other instanceof Actions;
        }

        public int hashCode() {
            int PRIME = 59;
            int result = 1;
            Object $type = this.getType();
            result = result * 59 + ($type == null ? 43 : $type.hashCode());
            Object $content = this.getContent();
            result = result * 59 + ($content == null ? 43 : $content.hashCode());
            Object $time = this.getTime();
            result = result * 59 + ($time == null ? 43 : $time.hashCode());
            return result;
        }

        public String toString() {
            return "RuleEngineContent.Actions(type=" + this.getType() + ", content=" + this.getContent() + ", time=" + this.getTime() + ")";
        }
    }
}
