Package com.powsybl.iidm.xml.extensions
Class AbstractVersionableNetworkExtensionXmlSerializer<T extends Extendable,E extends Extension<T>>
- java.lang.Object
-
- com.powsybl.iidm.xml.extensions.AbstractVersionableNetworkExtensionXmlSerializer<T,E>
-
- All Implemented Interfaces:
ExtensionProvider<T,E>
,ExtensionXmlSerializer<T,E>
,Versionable
- Direct Known Subclasses:
MergedXnodeXmlSerializer
,SlackTerminalXmlSerializer
public abstract class AbstractVersionableNetworkExtensionXmlSerializer<T extends Extendable,E extends Extension<T>> extends Object implements ExtensionXmlSerializer<T,E>
- Author:
- Miora Ralambotiana
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractVersionableNetworkExtensionXmlSerializer(String extensionName, Class<? super E> extensionClass, boolean subElements, String namespacePrefix, Map<IidmXmlVersion,com.google.common.collect.ImmutableSortedSet<String>> extensionVersions, Map<String,String> namespaceUris)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkExtensionVersionSupported(String extensionVersion)
Check that a given extension version exists.protected void
checkReadingCompatibility(NetworkXmlReaderContext networkContext)
void
checkWritingCompatibility(String extensionVersion, IidmXmlVersion version)
String
getCategoryName()
Return the category of the extensions provided by this provider.Class<? super E>
getExtensionClass()
Return the type of extensions provided by this provider.String
getExtensionName()
Return the name of the extensions provided by this provider.String
getNamespacePrefix()
String
getNamespaceUri()
Return the namespace URI of the extension in the latest version of its serialization.String
getNamespaceUri(String extensionVersion)
Return the namespace URI of the extension in a given version of its serialization.String
getVersion()
Return the latest version of the serialization of the extension.String
getVersion(IidmXmlVersion networkVersion)
Set<String>
getVersions()
Return all supported versions for of the serialization of this extension.boolean
hasSubElements()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.powsybl.commons.extensions.ExtensionXmlSerializer
getName, getXsdAsStream, getXsdAsStreamList, isSerializable, read, write
-
-
-
-
Constructor Detail
-
AbstractVersionableNetworkExtensionXmlSerializer
protected AbstractVersionableNetworkExtensionXmlSerializer(String extensionName, Class<? super E> extensionClass, boolean subElements, String namespacePrefix, Map<IidmXmlVersion,com.google.common.collect.ImmutableSortedSet<String>> extensionVersions, Map<String,String> namespaceUris)
-
-
Method Detail
-
getExtensionName
public String getExtensionName()
Description copied from interface:ExtensionProvider
Return the name of the extensions provided by this provider.- Specified by:
getExtensionName
in interfaceExtensionProvider<T extends Extendable,E extends Extension<T>>
- Returns:
- the name of the extensions provided by this provider.
-
getCategoryName
public String getCategoryName()
Description copied from interface:ExtensionProvider
Return the category of the extensions provided by this provider.- Specified by:
getCategoryName
in interfaceExtensionProvider<T extends Extendable,E extends Extension<T>>
- Returns:
- the category of the extensions provided by this provider.
-
getExtensionClass
public Class<? super E> getExtensionClass()
Description copied from interface:ExtensionProvider
Return the type of extensions provided by this provider.- Specified by:
getExtensionClass
in interfaceExtensionProvider<T extends Extendable,E extends Extension<T>>
- Returns:
- the type of extensions provided by this provider.
-
hasSubElements
public boolean hasSubElements()
- Specified by:
hasSubElements
in interfaceExtensionXmlSerializer<T extends Extendable,E extends Extension<T>>
-
getNamespaceUri
public String getNamespaceUri()
Description copied from interface:ExtensionXmlSerializer
Return the namespace URI of the extension in the latest version of its serialization.- Specified by:
getNamespaceUri
in interfaceExtensionXmlSerializer<T extends Extendable,E extends Extension<T>>
-
getNamespaceUri
public String getNamespaceUri(String extensionVersion)
Description copied from interface:ExtensionXmlSerializer
Return the namespace URI of the extension in a given version of its serialization.- Specified by:
getNamespaceUri
in interfaceExtensionXmlSerializer<T extends Extendable,E extends Extension<T>>
-
getVersion
public String getVersion()
Description copied from interface:ExtensionXmlSerializer
Return the latest version of the serialization of the extension.- Specified by:
getVersion
in interfaceExtensionXmlSerializer<T extends Extendable,E extends Extension<T>>
- Specified by:
getVersion
in interfaceVersionable
-
getVersion
public String getVersion(IidmXmlVersion networkVersion)
-
getVersions
public Set<String> getVersions()
Description copied from interface:ExtensionXmlSerializer
Return all supported versions for of the serialization of this extension.- Specified by:
getVersions
in interfaceExtensionXmlSerializer<T extends Extendable,E extends Extension<T>>
-
checkReadingCompatibility
protected void checkReadingCompatibility(NetworkXmlReaderContext networkContext)
-
checkWritingCompatibility
public void checkWritingCompatibility(String extensionVersion, IidmXmlVersion version)
-
getNamespacePrefix
public String getNamespacePrefix()
- Specified by:
getNamespacePrefix
in interfaceExtensionXmlSerializer<T extends Extendable,E extends Extension<T>>
-
checkExtensionVersionSupported
public void checkExtensionVersionSupported(String extensionVersion)
Description copied from interface:ExtensionXmlSerializer
Check that a given extension version exists.- Specified by:
checkExtensionVersionSupported
in interfaceExtensionXmlSerializer<T extends Extendable,E extends Extension<T>>
-
-