001 package echopoint.layout;
002
003 import nextapp.echo.app.serial.SerialContext;
004 import nextapp.echo.app.serial.SerialException;
005 import nextapp.echo.app.serial.SerialUtil;
006 import nextapp.echo.app.serial.property.LayoutDataPeer;
007 import nextapp.echo.app.util.Context;
008 import org.w3c.dom.Element;
009
010 /**
011 * <p>© Copyright 2009 <a href='http://sptci.com/' target='_top'>Sans
012 * Pareil Technologies, Inc.</a></p>
013 *
014 * @author Simon Lei 2009-03-16
015 * @version $Id: HtmlLayoutDataPeer.java 152 2009-04-19 21:53:22Z sptrakesh $
016 */
017 public class HtmlLayoutDataPeer extends LayoutDataPeer
018 {
019 /** The name of the {@link echopoint.layout.HtmlLayoutData#containerId}
020 * property.
021 */
022 private static final String PROPERTY_NAME = "containerId";
023
024 /** {@inheritDoc} */
025 @Override
026 public void toXml( final Context context, final Class objectClass,
027 final Element propertyElement, final Object propertyValue )
028 throws SerialException
029 {
030 final SerialContext serialContext = (SerialContext)
031 context.get( SerialContext.class );
032 final HtmlLayoutData layoutData = (HtmlLayoutData) propertyValue;
033
034 propertyElement.setAttribute( "t", ( serialContext.getFlags() &
035 SerialContext.FLAG_RENDER_SHORT_NAMES ) == 0 ? "LayoutData" : "L" );
036
037 SerialUtil.toXml( context, HtmlLayoutData.class, propertyElement,
038 PROPERTY_NAME, layoutData.getContainerId() );
039 }
040 }