Package jmri.configurexml
Class AbstractXmlAdapter.EnumIoMapped<T extends Enum<T>>
java.lang.Object
jmri.configurexml.AbstractXmlAdapter.EnumIO<T>
jmri.configurexml.AbstractXmlAdapter.EnumIoMapped<T>
- Type Parameters:
T- generic enum class.
- Enclosing class:
- AbstractXmlAdapter
public static class AbstractXmlAdapter.EnumIoMapped<T extends Enum<T>>
extends AbstractXmlAdapter.EnumIO<T>
Support for Enum I/O to XML using explicit mapping.
This converts to and from ordinal numbers so the order of definitions in the enum has to match up with the (former) constant values.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionConvert a String value from an XML file to an enum value.outputFromEnum(T e) Convert an enum value to a String for storage in an XML file.Methods inherited from class jmri.configurexml.AbstractXmlAdapter.EnumIO
inputFromAttribute
-
Field Details
-
clazz
-
mapFromEnum
-
mapToEnum
-
-
Constructor Details
-
EnumIoMapped
public EnumIoMapped(@Nonnull Class<T> clazz, @Nonnull Map<String, T> mapToEnum, @Nonnull Map<T, String> mapFromEnum) - Parameters:
clazz- enum class.mapToEnum- Substitutes an explicit mapping for mapping from Strings to enums; this could allow e.g. accepting both name and number versions. Multiple entries are OK: this can map both "1" and "Foo" to Foo for past-schema support.mapFromEnum- Substitutes an explicit mapping enum entries to Strings; this determines what will be written out.
-
EnumIoMapped
- Parameters:
clazz- enum class.mapToEnum- Substitutes an explicit mapping for mapping from Strings to enums; this could allow e.g. accepting both name and number versions. Multiple entries are OK: this can map both "1" and "Foo" to Foo for past-schema support. The mapping from enums to Strings uses the enum names.
-
-
Method Details
-
outputFromEnum
Convert an enum value to a String for storage in an XML file.- Specified by:
outputFromEnumin classAbstractXmlAdapter.EnumIO<T extends Enum<T>>- Parameters:
e- enum value.- Returns:
- storage string.
-
inputFromString
Convert a String value from an XML file to an enum value.- Specified by:
inputFromStringin classAbstractXmlAdapter.EnumIO<T extends Enum<T>>- Parameters:
s- storage string- Returns:
- enum value.
-