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.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.gravitee.definition.model.Path;
import java.util.*;
/**
* @author David BRASSELY (david.brassely at graviteesource.com)
* @author Nicolas GERAUD (nicolas.geraud 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;
@DeploymentRequired
private PlanSecurityType security;
@DeploymentRequired
private String securityDefinition;
private PlanType type;
@DeploymentRequired
private PlanStatus status;
@DeploymentRequired
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;
@DeploymentRequired
@JsonProperty(value = "paths", required = true)
private Map paths = new HashMap<>();
private List characteristics;
@JsonProperty("excluded_groups")
private List excludedGroups;
/**
* last time modification introduced an api redeployment
*/
@JsonIgnore
private Date needRedeployAt;
@JsonProperty("comment_required")
private boolean commentRequired;
@JsonProperty("comment_message")
private String commentMessage;
@DeploymentRequired
private Set tags;
@DeploymentRequired
@JsonProperty("selection_rule")
private String selectionRule;
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;
}
public Date getNeedRedeployAt() {
return needRedeployAt;
}
public void setNeedRedeployAt(Date needRedeployAt) {
this.needRedeployAt = needRedeployAt;
}
public boolean isCommentRequired() {
return commentRequired;
}
public void setCommentRequired(boolean commentRequired) {
this.commentRequired = commentRequired;
}
public String getCommentMessage() {
return commentMessage;
}
public void setCommentMessage(String commentMessage) {
this.commentMessage = commentMessage;
}
public Set getTags() {
return tags;
}
public void setTags(Set tags) {
this.tags = tags;
}
public String getSelectionRule() {
return selectionRule;
}
public void setSelectionRule(String selectionRule) {
this.selectionRule = selectionRule;
}
@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