io.gravitee.management.model.PlanEntity Maven / Gradle / Ivy
/**
* 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