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.xml.XmlReader; import com.xenoage.utils.xml.XmlWriter; import com.xenoage.zong.musicxml.types.attributes.MxlFont; /** * MusicXML lyric-font. * * @author Andreas Wenger */ @AllArgsConstructor @Getter @Setter public final class MxlLyricFont { public static final String elemName = "lyric-font"; @MaybeNull private String number; @MaybeNull private String name; @MaybeNull private MxlFont font; @MaybeNull public static MxlLyricFont read(XmlReader reader) { String number = reader.getAttribute("number"); String name = reader.getAttribute("name"); MxlFont font = MxlFont.read(reader); if (number != null || name != null || font != null) return new MxlLyricFont(number, name, font); else return null; } public void write(XmlWriter writer) { writer.writeElementStart(elemName); if (number != null) writer.writeAttribute("number", number); if (name != null) writer.writeAttribute("name", name); if (font != null) font.write(writer); writer.writeElementEnd(); } }