package io.lumify.web.clientapi.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.util.*;
public class ClientApiOntology implements ClientApiObject {
private List<Concept> concepts = new ArrayList<>();
private List<Property> properties = new ArrayList<>();
private List<Relationship> relationships = new ArrayList<>();
public List<Concept> getConcepts() {
return concepts;
}
public List<Property> getProperties() {
return properties;
}
public List<Relationship> getRelationships() {
return relationships;
}
public void addAllConcepts(Collection<Concept> concepts) {
this.concepts.addAll(concepts);
}
public void addAllProperties(Collection<Property> properties) {
this.properties.addAll(properties);
}
public void addAllRelationships(Collection<Relationship> relationships) {
this.relationships.addAll(relationships);
}
public static class Concept {
private String id;
private String title;
private String displayName;
private String displayType;
private String titleFormula;
private String subtitleFormula;
private String timeFormula;
private String parentConcept;
private String pluralDisplayName;
private Boolean userVisible;
private Boolean searchable;
private String glyphIconHref;
private String color;
private List<String> intents = new ArrayList<>();
private List<String> addRelatedConceptWhiteList = new ArrayList<>();
private List<String> properties = new ArrayList<>();
private Map<String, String> metadata = new HashMap<>();
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public String getDisplayType() {
return displayType;
}
public void setDisplayType(String displayType) {
this.displayType = displayType;
}
public String getTitleFormula() {
return titleFormula;
}
public void setTitleFormula(String titleFormula) {
this.titleFormula = titleFormula;
}
public String getSubtitleFormula() {
return subtitleFormula;
}
public void setSubtitleFormula(String subtitleFormula) {
this.subtitleFormula = subtitleFormula;
}
public String getTimeFormula() {
return timeFormula;
}
public void setTimeFormula(String timeFormula) {
this.timeFormula = timeFormula;
}
public String getParentConcept() {
return parentConcept;
}
public void setParentConcept(String parentConcept) {
this.parentConcept = parentConcept;
}
public String getPluralDisplayName() {
return pluralDisplayName;
}
public void setPluralDisplayName(String pluralDisplayName) {
this.pluralDisplayName = pluralDisplayName;
}
public Boolean getUserVisible() {
return userVisible;
}
public void setUserVisible(Boolean userVisible) {
this.userVisible = userVisible;
}
public Boolean getSearchable() {
return searchable;
}
public void setSearchable(Boolean searchable) {
this.searchable = searchable;
}
public String getGlyphIconHref() {
return glyphIconHref;
}
public void setGlyphIconHref(String glyphIconHref) {
this.glyphIconHref = glyphIconHref;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public Map<String, String> getMetadata() {
return metadata;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public List<String> getAddRelatedConceptWhiteList() {
return addRelatedConceptWhiteList;
}
public List<String> getProperties() {
return properties;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public List<String> getIntents() {
return intents;
}
}
public static class Property {
private String title;
private String displayName;
private boolean userVisible;
private boolean searchable;
private boolean addable;
private PropertyType dataType;
private String displayType;
private String propertyGroup;
private Map<String, String> possibleValues = new HashMap<>();
private String validationFormula;
private String displayFormula;
private String[] dependentPropertyIris;
private List<String> intents = new ArrayList<>();
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public boolean isUserVisible() {
return userVisible;
}
public void setUserVisible(boolean userVisible) {
this.userVisible = userVisible;
}
public boolean isSearchable() {
return searchable;
}
public void setSearchable(boolean searchable) {
this.searchable = searchable;
}
public boolean isAddable() {
return addable;
}
public void setAddable(boolean addable) {
this.addable = addable;
}
public PropertyType getDataType() {
return dataType;
}
public void setDataType(PropertyType dataType) {
this.dataType = dataType;
}
public String getDisplayType() {
return displayType;
}
public void setDisplayType(String displayType) {
this.displayType = displayType;
}
public String getPropertyGroup() {
return propertyGroup;
}
public void setPropertyGroup(String propertyGroup) {
this.propertyGroup = propertyGroup;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public Map<String, String> getPossibleValues() {
return possibleValues;
}
public void setValidationFormula(String validationFormula) {
this.validationFormula = validationFormula;
}
public String getValidationFormula() {
return validationFormula;
}
public void setDisplayFormula(String displayFormula) {
this.displayFormula = displayFormula;
}
public String getDisplayFormula() {
return displayFormula;
}
public void setDependentPropertyIris(String[] dependentPropertyIris) {
this.dependentPropertyIris = dependentPropertyIris;
}
@JsonIgnore
public void setDependentPropertyIris(Collection<String> dependentPropertyIris) {
if (dependentPropertyIris == null || dependentPropertyIris.size() == 0) {
this.dependentPropertyIris = null;
} else {
this.dependentPropertyIris = dependentPropertyIris.toArray(new String[dependentPropertyIris.size()]);
}
}
public String[] getDependentPropertyIris() {
return dependentPropertyIris;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public List<String> getIntents() {
return intents;
}
}
public static class Relationship {
private String title;
private String displayName;
private Boolean userVisible;
private List<String> domainConceptIris = new ArrayList<>();
private List<String> rangeConceptIris = new ArrayList<>();
private List<InverseOf> inverseOfs = new ArrayList<>();
private List<String> intents = new ArrayList<>();
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public List<String> getDomainConceptIris() {
return domainConceptIris;
}
public void setDomainConceptIris(List<String> domainConceptIris) {
this.domainConceptIris = domainConceptIris;
}
public List<String> getRangeConceptIris() {
return rangeConceptIris;
}
public void setRangeConceptIris(List<String> rangeConceptIris) {
this.rangeConceptIris = rangeConceptIris;
}
public Boolean getUserVisible() {
return userVisible;
}
public void setUserVisible(Boolean userVisible) {
this.userVisible = userVisible;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public List<InverseOf> getInverseOfs() {
return inverseOfs;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public List<String> getIntents() {
return intents;
}
public static class InverseOf {
private String iri;
private String primaryIri;
public String getIri() {
return iri;
}
public void setIri(String iri) {
this.iri = iri;
}
public String getPrimaryIri() {
return primaryIri;
}
public void setPrimaryIri(String primaryIri) {
this.primaryIri = primaryIri;
}
}
}
}