All Downloads are FREE. Search and download functionalities are using the official Maven repository.

info.freelibrary.iiif.presentation.v3.properties.RequiredStatement Maven / Gradle / Ivy

There is a newer version: 0.12.4
Show newest version

package info.freelibrary.iiif.presentation.v3.properties;

import info.freelibrary.util.warnings.Eclipse;

/**
 * Text that must be displayed when the resource is displayed or used. For example, the requiredStatement property could
 * be used to present copyright or ownership statements, an acknowledgement of the owning and/or publishing institution,
 * or any other text that the publishing organization deems critical to display to the user.
 */
public class RequiredStatement extends Metadata {

    /**
     * Constructor for Jackson deserialization.
     */
    @SuppressWarnings(Eclipse.UNUSED)
    private RequiredStatement() {
        super();
    }

    /**
     * Creates a required statement from the supplied label and value.
     *
     * @param aLabel A label
     * @param aValue A value
     */
    public RequiredStatement(final Label aLabel, final Value aValue) {
        super(aLabel, aValue);
    }

    /**
     * Creates a required statement from the supplied label and value strings.
     *
     * @param aLabel A label in string form
     * @param aValue A value in string form
     */
    public RequiredStatement(final String aLabel, final String aValue) {
        super(new Label(aLabel), new Value(aValue));
    }

    /**
     * Sets the label for the required statement.
     *
     * @param aLabel A label
     * @return This required statement
     */
    @Override
    public RequiredStatement setLabel(final Label aLabel) {
        return (RequiredStatement) super.setLabel(aLabel);
    }

    /**
     * Sets the label for the required statement.
     *
     * @param aLabel A label in string form
     * @return This required statement
     */
    @Override
    public RequiredStatement setLabel(final String aLabel) {
        return (RequiredStatement) super.setLabel(aLabel);
    }

    /**
     * Sets the required statement's value.
     *
     * @param aValue A value
     * @return This required statement
     */
    @Override
    public RequiredStatement setValue(final Value aValue) {
        return (RequiredStatement) super.setValue(aValue);
    }

    /**
     * Sets the required statement's value.
     *
     * @param aValue A value in string form
     * @return This required statement
     */
    @Override
    public RequiredStatement setValue(final String aValue) {
        return (RequiredStatement) super.setValue(aValue);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy