¿Qué sucede si no deseo que algunas variables se conviertan en un archivo XML?

package jaxb.classes; import javax.xml.bind.annotation.*; @XmlAccessorType(XmlAccessType.FIELD) public class Task { @XmlElement(name="input") private String input; // String representing the input file @XmlElement(name="output") private String output; // String representing the output file @XmlElement(name="format") private Format format; // a jaxb.classes.Format representing the format of conversion @XmlElement(name="taskID") private long taskID; // a unique ID for each task. @XmlElement(name="isReady") public boolean isReady; // boolean value representing whether the task is ready for conversion public boolean isChanging; // boolean representing if the user is changing the task DO NOT MARSHALL public boolean isExecuting; // boolean representing whether the task is being executed DO NOT MARSHALL public long getTaskID(){ return taskID; } public String getInput(){ return input; } public String getOutput(){ return output; } public Format getFormat(){ return format; } public void setOutput(String out){ output = out; } public void setFormat(Format f){ format = f; } } 

Entonces, aquí hay una clase que representa las tareas pendientes para la conversión. Esto se convertirá en XML que contendrá los datos guardados.
Sin embargo, no quiero que isChanging , isExecuting se realice en XML. Quiero que sean false cuando se vuelvan a leer.

Cómo puedo hacer eso ?

Hay un par de formas para apoyar este caso de uso:

Opción # 1 – @XmlTransient

Puede usar la anotación @XmlTransient para evitar que un campo / propiedad se marque o desaparezca.

Opción # 2 – @XmlAccessorType(XmlAccessType.NONE)

Puede anotar la clase con @XmlAccessorType(XmlAccessType.NONE) para que solo los campos / propiedades anotados se marshalled / unmarshalled.

Para más información