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.choice.MxlDirectionTypeContent;
import com.xenoage.zong.musicxml.types.util.MxlFormattedTextContent;
import com.xenoage.zong.musicxml.util.IncompleteMusicXML;
/**
* MusicXML words.
*
* @author Andreas Wenger
*/
@IncompleteMusicXML(children = "formatted-text")
@AllArgsConstructor @Getter @Setter
public final class MxlWords
implements MxlDirectionTypeContent, MxlFormattedTextContent {
public static final String elemName = "words";
@NonNull private final MxlFormattedText formattedText;
@Override public MxlDirectionTypeContentType getDirectionTypeContentType() {
return MxlDirectionTypeContentType.Words;
}
@NonNull public static MxlWords read(XmlReader reader) {
return new MxlWords(MxlFormattedText.read(reader));
}
@Override public void write(XmlWriter writer) {
writer.writeElementStart(elemName);
formattedText.write(writer);
writer.writeElementEnd();
}
}