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>&copy; 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    }