Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/* SPDX-License-Identifier: Apache-2.0 */
/* Copyright Contributors to the ODPi Egeria project. */
package org.odpi.openmetadata.accessservices.digitalservice.properties;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import java.util.List;
import java.util.Objects;
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY;
/**
* GovernanceDefinitionProperties provides the base class for many of the definitions that define the data strategy
* and governance program. It includes many of the common fields:
*
*
*
Document Id
*
Title
*
Summary
*
Description
*
Scope
*
Domain Identifier
*
Status
*
Priority
*
Implications
*
Outcomes
*
Results
*
AdditionalProperties
*
*/
@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "class")
@JsonSubTypes(
{
@JsonSubTypes.Type(value = LicenseTypeProperties.class, name = "LicenseTypeProperties"),
@JsonSubTypes.Type(value = CertificationTypeProperties.class, name = "CertificationTypeProperties"),
})
public class GovernanceDefinitionProperties extends ReferenceableProperties
{
private String title = null;
private String summary = null;
private String description = null;
private String scope = null;
private int domainIdentifier = 0;
private String priority = null;
private List implications = null;
private List outcomes = null;
private List results = null;
/**
* Default Constructor
*/
public GovernanceDefinitionProperties()
{
super();
}
/**
* Copy/clone Constructor
*
* @param template object being copied
*/
public GovernanceDefinitionProperties(GovernanceDefinitionProperties template)
{
super(template);
if (template != null)
{
this.title = template.getTitle();
this.summary = template.getSummary();
this.description = template.getDescription();
this.scope = template.getScope();
this.domainIdentifier = template.getDomainIdentifier();
this.priority = template.getPriority();
this.implications = template.getImplications();
this.outcomes = template.getOutcomes();
this.results = template.getResults();
}
}
/**
* Return the title associated with this governance definition.
*
* @return String title
*/
public String getTitle()
{
return title;
}
/**
* Set up the title associated with this governance definition.
*
* @param title String title
*/
public void setTitle(String title)
{
this.title = title;
}
/**
* Return the summary for this governance definition. This should cover its essence. Think of it as
* the executive summary.
*
* @return String short description
*/
public String getSummary()
{
return summary;
}
/**
* Set up the summary of the governance definition. This should cover its essence. Think of it as
* the executive summary.
*
* @param summary String description
*/
public void setSummary(String summary)
{
this.summary = summary;
}
/**
* Return the full description of the governance definition.
*
* @return String description
*/
public String getDescription()
{
return description;
}
/**
* Set up the full description of the governance definition.
*
* @param description String description
*/
public void setDescription(String description)
{
this.description = description;
}
/**
* Return the organizational scope that this governance definition applies to.
*
* @return String organization, department or team name
*/
public String getScope()
{
return scope;
}
/**
* Set up the organizational scope that this governance definition applies to.
*
* @param scope String organization, department or team name
*/
public void setScope(String scope)
{
this.scope = scope;
}
/**
* Return the identifier of the governance domain that this definition belongs to (0=all).
*
* @return int
*/
public int getDomainIdentifier()
{
return domainIdentifier;
}
/**
* Set up the identifier of the governance domain that this definition belongs to (0=all).
*
* @param domainIdentifier int
*/
public void setDomainIdentifier(int domainIdentifier)
{
this.domainIdentifier = domainIdentifier;
}
/**
* Return the priority of the governance definition. This may be something like high, medium or low,
* or maybe a time frame or more detailed explanation.
*
* @return String priority
*/
public String getPriority()
{
return priority;
}
/**
* Set up the priority of this governance definition. This may be something like high, medium or low,
* or maybe a time frame or more detailed explanation.
*
* @param priority String priority
*/
public void setPriority(String priority)
{
this.priority = priority;
}
/**
* Return the list of implications for the organization that this governance definition brings.
* This is often the first enumeration of the changes that that need to be implemented to bring
* the governance definition into effect.
*
* @return list of descriptions
*/
public List getImplications()
{
return implications;
}
/**
* Set up the list of implications for the organization that this governance definition brings.
* This is often the first enumeration of the changes that that need to be implemented to bring
* the governance definition into effect.
*
* @param implications list of descriptions
*/
public void setImplications(List implications)
{
this.implications = implications;
}
/**
* Return the list of expected outcomes from implementing this governance definition.
*
* @return list of outcome descriptions
*/
public List getOutcomes()
{
if (outcomes == null)
{
return null;
}
else if (outcomes.isEmpty())
{
return null;
}
else
{
return outcomes;
}
}
/**
* Set up the list of expected outcomes from implementing this governance definition.
*
* @param outcomes list of descriptions of outcomes
*/
public void setOutcomes(List outcomes)
{
this.outcomes = outcomes;
}
/**
* Return the list of actual results from implementing this governance definition.
*
* @return list of result descriptions
*/
public List getResults()
{
if (outcomes == null)
{
return null;
}
else if (outcomes.isEmpty())
{
return null;
}
else
{
return outcomes;
}
}
/**
* Set up the list of actual results from implementing this governance definition.
*
* @param results list of description of results
*/
public void setResults(List results)
{
this.results = results;
}
/**
* JSON-style toString.
*
* @return list of properties and their values.
*/
@Override
public String toString()
{
return "GovernanceDefinitionProperties{" +
"title='" + title + '\'' +
", summary='" + summary + '\'' +
", description='" + description + '\'' +
", scope='" + scope + '\'' +
", domainIdentifier=" + domainIdentifier +
", priority='" + priority + '\'' +
", implications=" + implications +
", outcomes=" + outcomes +
", results=" + results +
", qualifiedName='" + getQualifiedName() + '\'' +
", additionalProperties=" + getAdditionalProperties() +
", effectiveFrom=" + getEffectiveFrom() +
", effectiveTo=" + getEffectiveTo() +
", typeName='" + getTypeName() + '\'' +
", extendedProperties=" + getExtendedProperties() +
'}';
}
/**
* Compare the values of the supplied object with those stored in the current object.
*
* @param objectToCompare supplied object
* @return boolean result of comparison
*/
@Override
public boolean equals(Object objectToCompare)
{
if (this == objectToCompare)
{
return true;
}
if (! (objectToCompare instanceof GovernanceDefinitionProperties))
{
return false;
}
if (! super.equals(objectToCompare))
{
return false;
}
GovernanceDefinitionProperties that = (GovernanceDefinitionProperties) objectToCompare;
return domainIdentifier == that.domainIdentifier &&
Objects.equals(title, that.title) &&
Objects.equals(summary, that.summary) &&
Objects.equals(description, that.description) &&
Objects.equals(scope, that.scope) &&
Objects.equals(priority, that.priority) &&
Objects.equals(implications, that.implications) &&
Objects.equals(outcomes, that.outcomes) &&
Objects.equals(results, that.results);
}
/**
* Return hash code based on properties.
*
* @return int
*/
@Override
public int hashCode()
{
return Objects.hash(super.hashCode(), title, summary, description, scope, domainIdentifier, priority, implications, outcomes, results);
}
}