Package com.powsybl.commons.extensions
Interface ExtensionXmlSerializer<T extends Extendable,E extends Extension<T>>
-
- All Superinterfaces:
ExtensionProvider<T,E>
,Versionable
- All Known Implementing Classes:
AbstractExtensionXmlSerializer
,AbstractVersionableNetworkExtensionXmlSerializer
,ActivePowerControlXmlSerializer
,CgmesControlAreasXmlSerializer
,CgmesIidmMappingXmlSerializer
,CgmesSshMetadataXmlSerializer
,CgmesSvMetadataXmlSerializer
,CimCharacteristicsXmlSerializer
,CoordinatedReactiveControlXmlSerializer
,EntsoeAreaXmlSerializer
,HvdcAngleDroopActivePowerControlXmlSerializer
,HvdcOperatorActivePowerRangeXmlSerializer
,LoadDetailXmlSerializer
,MergedXnodeXmlSerializer
,SlackTerminalXmlSerializer
,ThreeWindingsTransformerPhaseAngleClockXmlSerializer
,TwoWindingsTransformerPhaseAngleClockXmlSerializer
,VoltagePerReactivePowerControlXmlSerializer
,XnodeXmlSerializer
public interface ExtensionXmlSerializer<T extends Extendable,E extends Extension<T>> extends ExtensionProvider<T,E>, Versionable
An ExtensionProvider able to serialize/deserialize extensions from XML.An ExtensionXmlSerializer can have several versions with one XSD schema per version: the XML serialization/deserialization of an extension is versionable.
- Author:
- Mathieu Bague
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
checkExtensionVersionSupported(String extensionVersion)
Check that a given extension version exists.default String
getName()
String
getNamespacePrefix()
String
getNamespaceUri()
Return the namespace URI of the extension in the latest version of its serialization.default String
getNamespaceUri(String extensionVersion)
Return the namespace URI of the extension in a given version of its serialization.default String
getVersion()
Return the latest version of the serialization of the extension.InputStream
getXsdAsStream()
Return the XSD schema describing the extension to serialize in the latest version of its serialization.default List<InputStream>
getXsdAsStreamList()
Return the list of all XSD schemas describing the extension to serialize.boolean
hasSubElements()
default boolean
isSerializable(E extension)
Check if an extension can be serialized or not.E
read(T extendable, XmlReaderContext context)
void
write(E extension, XmlWriterContext context)
-
Methods inherited from interface com.powsybl.commons.extensions.ExtensionProvider
getCategoryName, getExtensionClass, getExtensionName
-
-
-
-
Method Detail
-
hasSubElements
boolean hasSubElements()
-
getXsdAsStream
InputStream getXsdAsStream()
Return the XSD schema describing the extension to serialize in the latest version of its serialization.
-
getXsdAsStreamList
default List<InputStream> getXsdAsStreamList()
Return the list of all XSD schemas describing the extension to serialize.
There is a distinct XSD schema for each version of its serialization.
-
getNamespaceUri
String getNamespaceUri()
Return the namespace URI of the extension in the latest version of its serialization.
-
getNamespaceUri
default String getNamespaceUri(String extensionVersion)
Return the namespace URI of the extension in a given version of its serialization.
-
getNamespacePrefix
String getNamespacePrefix()
-
write
void write(E extension, XmlWriterContext context) throws XMLStreamException
- Throws:
XMLStreamException
-
read
E read(T extendable, XmlReaderContext context) throws XMLStreamException
- Throws:
XMLStreamException
-
getName
default String getName()
- Specified by:
getName
in interfaceVersionable
-
getVersion
default String getVersion()
Return the latest version of the serialization of the extension.- Specified by:
getVersion
in interfaceVersionable
-
checkExtensionVersionSupported
default void checkExtensionVersionSupported(String extensionVersion)
Check that a given extension version exists.
-
isSerializable
default boolean isSerializable(E extension)
Check if an extension can be serialized or not.- Parameters:
extension
- the extension to check- Returns:
- true if the extension can be serialized, false otherwise
-
-