package de.smartics.projectdoc.atlassian.confluence.api.domain;
/**
* A view on a projectdoc document property for public access through the
* published API.
*/
public interface ProjectdocDocumentProperty {
/**
* Returns the name of the property.
*
* @return the name of the property, never <code>null</code>.
*/
String getName();
/**
* Returns the rendered value as based on the storage format found in the
* projectdoc document.
* <p>
* This is the value with style information. For instance, if the value is
* boxed in a div element with class attributes, this structure is returned.
* </p>
*
* @return the rendered value of the property.
*/
String getRenderedValue();
/**
* Returns the normalized version of the rendered property value.
* <p>
* This is the text representation of the property value.
* </p>
*
* @return the normalized rendered value of the property.
*/
String getNormalizedRenderedValue();
/**
* Returns the original value as found in the projectdoc document in storage
* format.
*
* @return the original value of the property.
*/
String getOriginalValue();
/**
* Returns the normalized version of the original property value.
* <p>
* This is the text representation of the property value.
* </p>
*
* @return the normalized original value of the property.
*/
String getNormalizedOriginalValue();
/**
* Checks if the property is actually a section.
*
* @return <code>true</code> if the property is actually a section,
* <code>false</code> if it is actually a property.
*/
boolean isSection();
/**
* Checks whether or not the property is associated with the given control.
*
* @param controlName the name of the control to check.
* @return <code>true</code> if the property has this control attached,
* <code>false</code> otherwise.
*/
boolean hasControl(String controlName);
} |