liquibase.serializer.LiquibaseSerializable Maven / Gradle / Ivy
package liquibase.serializer;
import liquibase.parser.core.ParsedNode;
import liquibase.parser.core.ParsedNodeException;
import liquibase.resource.ResourceAccessor;
import java.util.Set;
public interface LiquibaseSerializable {
String STANDARD_CHANGELOG_NAMESPACE = "http://www.liquibase.org/xml/ns/dbchangelog";
String GENERIC_CHANGELOG_EXTENSION_NAMESPACE = "http://www.liquibase.org/xml/ns/dbchangelog-ext";
String STANDARD_SNAPSHOT_NAMESPACE = "http://www.liquibase.org/xml/ns/snapshot";
String GENERIC_SNAPSHOT_EXTENSION_NAMESPACE = "http://www.liquibase.org/xml/ns/snapshot-ext";
public enum SerializationType {
NAMED_FIELD,
NESTED_OBJECT,
DIRECT_VALUE
}
String getSerializedObjectName();
Set getSerializableFields();
Object getSerializableFieldValue(String field);
public SerializationType getSerializableFieldType(String field);
String getSerializableFieldNamespace(String field);
String getSerializedObjectNamespace();
public void load(ParsedNode parsedNode, ResourceAccessor resourceAccessor) throws ParsedNodeException;
public ParsedNode serialize() throws ParsedNodeException;
}