
net.sf.jsefa.xml.XmlSerializer Maven / Gradle / Ivy
Show all versions of jsefa-android Show documentation
/*
* Copyright 2007 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.sf.jsefa.xml;
import net.sf.jsefa.Serializer;
import net.sf.jsefa.xml.lowlevel.XmlLowLevelSerializer;
/**
* Iterator-style interface for stream based xml serializer.
*
* Notes on handling of null
values:
* 1. A field mapped to an attribute, a simple type element, complex type element or list type element with no
* value (null
) will not be serialized, i. e. no element or attribute will be created for this
* field.
* 2. An object mapped to a complex element with all fields having a null value will be serialized to an empty
* element. This includes objects mapped to complex elements with a text content. For those objects the
* serialzation result is the same for a null and for an empty text content, but the deserialization will create an
* empty String
in both cases.
*
* @see Serializer
* @author Norman Lahme-Huetig
*
*/
public interface XmlSerializer extends Serializer {
/**
* Returns a low level xml serializer.
*
* @return a low level xml serializer.
*/
XmlLowLevelSerializer getLowLevelSerializer();
}