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 & 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 & 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;
}
}
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)