package com.xenoage.zong.musicxml.types.enums; import lombok.AllArgsConstructor; import lombok.Getter; import com.xenoage.utils.annotations.NonNull; import com.xenoage.utils.xml.EnumWithXmlNames; import com.xenoage.utils.xml.XmlReader; import com.xenoage.utils.xml.XmlWriter; /** * MusicXML mode. * * @author Andreas Wenger */ @AllArgsConstructor @Getter public enum MxlMode implements EnumWithXmlNames { Major("major"), Minor("minor"), Dorian("dorian"), Phrygian("phrygian"), Lydian("lydian"), Mixolydian("mixolydian"), Aeolian("aeolian"), Ionian("ionian"), Locrian("locrian"); public static final String elemName = "mode"; private final String xmlName; @NonNull public static MxlMode read(XmlReader reader) { return Utils.read(elemName, reader.getText(), values()); } public void write(XmlWriter writer) { writer.writeElementText(elemName, xmlName); } }