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

io.gravitee.management.model.PlanEntity Maven / Gradle / Ivy

There is a newer version: 1.30.31
Show newest version
/**
 * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package io.gravitee.management.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.gravitee.definition.model.Path;

import java.util.*;

/**
 * @author David BRASSELY (david.brassely at graviteesource.com)
 * @author GraviteeSource Team
 */
public class PlanEntity {

    private String id;

    private String name;

    private String description;

    /**
     * The way to validate subscriptions
     */
    private PlanValidationType validation;

    private PlanSecurityType security;

    private String securityDefinition;

    private PlanType type;

    private PlanStatus status;

    private Set apis;

    private int order;

    /**
     * Plan creation date
     */
    @JsonProperty("created_at")
    private Date createdAt;

    /**
     * Plan last update date
     */
    @JsonProperty("updated_at")
    private Date updatedAt;

    /**
     * Plan publication date
     */
    @JsonProperty("published_at")
    private Date publishedAt;

    /**
     * Plan closing date
     */
    @JsonProperty("closed_at")
    private Date closedAt;

    @JsonProperty(value = "paths", required = true)
    private Map paths = new HashMap<>();

    private List characteristics;

    @JsonProperty("excluded_groups")
    private List excludedGroups;

    public String getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public PlanValidationType getValidation() {
        return validation;
    }

    public void setValidation(PlanValidationType validation) {
        this.validation = validation;
    }

    public PlanType getType() {
        return type;
    }

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

    public Set getApis() {
        return apis;
    }

    public void setApis(Set apis) {
        this.apis = apis;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Map getPaths() {
        return paths;
    }

    public void setPaths(Map paths) {
        this.paths = paths;
    }

    public List getCharacteristics() {
        return characteristics;
    }

    public void setCharacteristics(List characteristics) {
        this.characteristics = characteristics;
    }

    public int getOrder() {
        return order;
    }

    public void setOrder(int order) {
        this.order = order;
    }

    public PlanStatus getStatus() {
        return status;
    }

    public void setStatus(PlanStatus status) {
        this.status = status;
    }

    public Date getPublishedAt() {
        return publishedAt;
    }

    public void setPublishedAt(Date publishedAt) {
        this.publishedAt = publishedAt;
    }

    public Date getClosedAt() {
        return closedAt;
    }

    public void setClosedAt(Date closedAt) {
        this.closedAt = closedAt;
    }

    public PlanSecurityType getSecurity() {
        return security;
    }

    public void setSecurity(PlanSecurityType security) {
        this.security = security;
    }

    public String getSecurityDefinition() {
        return securityDefinition;
    }

    public void setSecurityDefinition(String securityDefinition) {
        this.securityDefinition = securityDefinition;
    }

    public List getExcludedGroups() {
        return excludedGroups;
    }

    public void setExcludedGroups(List excludedGroups) {
        this.excludedGroups = excludedGroups;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        PlanEntity that = (PlanEntity) o;

        return id.equals(that.id);
    }

    @Override
    public int hashCode() {
        return id.hashCode();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy