package com.xenoage.zong.musicxml.types;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import com.xenoage.utils.annotations.NonNull;
import com.xenoage.utils.xml.XmlReader;
import com.xenoage.utils.xml.XmlWriter;
import com.xenoage.zong.musicxml.types.enums.MxlStartStopDiscontinue;
import com.xenoage.zong.musicxml.util.IncompleteMusicXML;
/**
* MusicXML ending.
*
* @author Andreas Wenger
*/
@IncompleteMusicXML(missing = "print-object,print-style,end-length,text-x,text-y")
@AllArgsConstructor @Getter @Setter
public final class MxlEnding {
public static final String elemName = "ending";
@NonNull private String number;
@NonNull private MxlStartStopDiscontinue type;
@NonNull public static MxlEnding read(XmlReader reader) {
String number = reader.getAttributeNotNull("number");
MxlStartStopDiscontinue type = MxlStartStopDiscontinue.read(reader.getAttributeNotNull("type"));
return new MxlEnding(number, type);
}
public void write(XmlWriter writer) {
writer.writeElementStart(elemName);
writer.writeAttribute("number", number);
writer.writeAttribute("type", type.write());
writer.writeElementEnd();
}
}