Top Fields Constructors Methods
liquibase.serializer.core.xml

public Class XMLChangeLogSerializer

extends Object
implements ChangeLogSerializer
Class Inheritance
All Implemented Interfaces
liquibase.serializer.ChangeLogSerializer, liquibase.servicelocator.PrioritizedService, liquibase.serializer.LiquibaseSerializer
Imports
liquibase.change.ColumnConfig, .ConstraintsConfig, liquibase.changelog.ChangeLogChild, .ChangeSet, .DatabaseChangeLog, liquibase.GlobalConfiguration, liquibase.exception.UnexpectedLiquibaseException, liquibase.parser.NamespaceDetails, .NamespaceDetailsFactory, liquibase.parser.core.xml.LiquibaseEntityResolver, liquibase.serializer.ChangeLogSerializer, .LiquibaseSerializable, .LiquibaseSerializable.SerializationType, liquibase.util.ISODateFormat, .StreamUtil, .StringUtil, .XMLUtil, liquibase.util.xml.DefaultXmlWriter, org.w3c.dom.Document, .Element, .NamedNodeMap, .Node, .NodeList, javax.xml.parsers.DocumentBuilder, .DocumentBuilderFactory, .ParserConfigurationException, java.io.ByteArrayInputStream, .File, .IOException, .InputStream, .OutputStream, java.nio.file.Files, java.util.Arrays, .Collection, .Collections, .HashMap, .List, .Map, .Set, .SortedMap, .TreeMap

Field Summary

Modifier and TypeField and Description
private Document
public static final String
private final LiquibaseEntityResolver
private static final String

Constructor Summary

AccessConstructor and Description
public
protected
XMLChangeLogSerializer(Document currentChangeLogFileDOM)

Method Summary

Modifier and TypeMethod and Description
public void
protected String
checkString(String text)

Catch any characters that will cause problems when parsing the XML down the road.

public Element
public Element
createNode(String nodeNamespace, String nodeName, String nodeContent)

public Element
createNode(ColumnConfig columnConfig)

public String
escapeXml(String valueToEscape)

Provided as a way for sub-classes to override and be able to convert a string that might have XML reserved characters to an XML-escaped version of that string.

public int
public String[]
private void
nodeToStringBuilder(Node node, StringBuilder buffer, int indent)

private String
qualifyName(String objectName, String objectNamespace, String parentNamespace)

public String
serialize(DatabaseChangeLog databaseChangeLog)

public String
public void
setCurrentChangeLogFileDOM(Document currentChangeLogFileDOM)

private void
setValueOnNode(Element node, String objectNamespace, String objectName, Object value, LiquibaseSerializable.SerializationType serializationType, String parentNamespace)

public <T extends ChangeLogChild> void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

currentChangeLogFileDOMback to summary
private Document currentChangeLogFileDOM
INVALID_STRING_ENCODING_MESSAGEback to summary
public static final String INVALID_STRING_ENCODING_MESSAGE
resolverback to summary
private final LiquibaseEntityResolver resolver
XML_VERSIONback to summary
private static final String XML_VERSION

Constructor Detail

XMLChangeLogSerializerback to summary
public XMLChangeLogSerializer()
XMLChangeLogSerializerback to summary
protected XMLChangeLogSerializer(Document currentChangeLogFileDOM)

Method Detail

appendback to summary
public void append(ChangeSet changeSet, File changeLogFile) throws IOException

Implements liquibase.serializer.ChangeLogSerializer.append.

Annotations
@Override
checkStringback to summary
protected String checkString(String text) throws UnexpectedLiquibaseException

Catch any characters that will cause problems when parsing the XML down the road.

Exceptions
UnexpectedLiquibaseException:
with the message INVALID_STRING_ENCODING_MESSAGE if an issue is found.
createNodeback to summary
public Element createNode(LiquibaseSerializable object)
createNodeback to summary
public Element createNode(String nodeNamespace, String nodeName, String nodeContent)
createNodeback to summary
public Element createNode(ColumnConfig columnConfig)
escapeXmlback to summary
public String escapeXml(String valueToEscape)

Provided as a way for sub-classes to override and be able to convert a string that might have XML reserved characters to an XML-escaped version of that string.

getPriorityback to summary
public int getPriority()

Implements liquibase.servicelocator.PrioritizedService.getPriority.

Annotations
@Override
getValidFileExtensionsback to summary
public String[] getValidFileExtensions()

Implements liquibase.serializer.LiquibaseSerializer.getValidFileExtensions.

Annotations
@Override
nodeToStringBuilderback to summary
private void nodeToStringBuilder(Node node, StringBuilder buffer, int indent)
qualifyNameback to summary
private String qualifyName(String objectName, String objectNamespace, String parentNamespace)
serializeback to summary
public String serialize(DatabaseChangeLog databaseChangeLog)
serializeback to summary
public String serialize(LiquibaseSerializable object, boolean pretty)

Implements liquibase.serializer.LiquibaseSerializer.serialize.

Annotations
@Override
setCurrentChangeLogFileDOMback to summary
public void setCurrentChangeLogFileDOM(Document currentChangeLogFileDOM)
setValueOnNodeback to summary
private void setValueOnNode(Element node, String objectNamespace, String objectName, Object value, LiquibaseSerializable.SerializationType serializationType, String parentNamespace)
writeback to summary
public <T extends ChangeLogChild> void write(List<T> children, OutputStream out) throws IOException

Implements liquibase.serializer.ChangeLogSerializer.write.

Annotations
@Override