DEV Community

Query Filter
Query Filter

Posted on

docker-181

package com.citigroup.get.quantum.config.v2.internal.soap;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;

/**
 * <h2>Property</h2>
 *
 * <p>Concrete JAXB complex data type representing a single configuration<br>
 * entry entity. This class serves as the core foundational payload model<br>
 * that holds individual property metadata, key names, and runtime values<br>
 * marshaled across the web services boundary.</p>
 *
 * <p><b>Architectural Context &amp; Serialization Mechanics:</b><br>
 * Modernized and optimized for execution environments utilizing <b>Java 21</b><br>
 * and <b>Spring 6.1</b>. Object-to-XML mapping behaviors are handled directly<br>
 * at the field layer via {@link XmlAccessorType} set to {@link XmlAccessType#FIELD}.<br>
 * Strict wire-level formatting sequence rules are enforced by the class-level<br>
 * {@code propOrder} parameter, ensuring elements serialize exactly in the order<br>
 * of {@code expiryTime}, {@code name}, and then {@code value}.</p>
 *
 * <p><b>Temporal Handling &amp; Thread Safety Profiles:</b><br>
 * The {@code expiryTime} field utilizes {@link XMLGregorianCalendar} for W3C<br>
 * XML Schema 1.0 date/time compatibility. Because instances of this type are<br>
 * mutable and not inherently thread-safe, care should be taken when accessing<br>
 * or modifying shared collections of properties within high-concurrency loops<br>
 * or asynchronous workers operating under Java 21 Virtual Threads to avoid<br>
 * race conditions or memory visibility inconsistencies.</p>
 *
 * <p>The class exposes the following property accessors and mutators:<br>
 * <ul>
 * <li>{@code getExpiryTime()}: Returns the calendar token indicating when<br>
 * this specific property definition expires or becomes invalid.</li>
 * <li>{@code setExpiryTime(XMLGregorianCalendar value)}: Assigns the temporal<br>
 * boundary constraints for the configuration entry.</li>
 * <li>{@code getName()}: Resolves the string key identifier for this entry.</li>
 * <li>{@code setName(String value)}: Sets the structural config key token.</li>
 * <li>{@code getValue()}: Retrieves the literal runtime value string assigned<br>
 * to this configuration entry.</li>
 * <li>{@code setValue(String value)}: Mutates the actual literal data payload<br>
 * mapped to this property.</li>
 * </ul>
 *
 * @since CPLS Migration 2.0 (Java 21 / Spring 6.1 Baseline)
 * @see ObjectFactory
 * @see GetPropertiesResponse
 * @see GetPropertyResponse
 * @see GetGroupOfPropertiesResponse
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
    name = "Property",
    propOrder = {
        "expiryTime",
        "name",
        "value"
    }
)
public class Property {

    @XmlElement(
        required = true,
        nillable = true
    )
    protected XMLGregorianCalendar expiryTime;

    @XmlElement(
        required = true,
        nillable = true
    )
    protected String name;

    @XmlElement(
        required = true,
        nillable = true
    )
    protected String value;

    public XMLGregorianCalendar getExpiryTime() {
        return this.expiryTime;
    }

    public void setExpiryTime(XMLGregorianCalendar value) {
        this.expiryTime = value;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String value) {
        this.name = value;
    }

    public String getValue() {
        return this.value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)