package com.xenoage.zong.musicxml.types;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import com.xenoage.utils.annotations.MaybeNull;
import com.xenoage.utils.annotations.NonNull;
import com.xenoage.utils.xml.XmlReader;
import com.xenoage.utils.xml.XmlWriter;
/**
* MusicXML typed-text.
*
* @author Andreas Wenger
*/
@AllArgsConstructor @Getter @Setter
public final class MxlTypedText {
@NonNull private String value;
@MaybeNull private String type;
@NonNull public static MxlTypedText read(XmlReader reader) {
String type = reader.getAttribute("type");
String value = reader.getTextNotNull();
return new MxlTypedText(value, type);
}
public void write(String elementName, XmlWriter writer) {
writer.writeElementStart(elementName);
writer.writeAttribute("type", type);
writer.writeText(value);
writer.writeElementEnd();
}
}