public static final String construct(Object object, ExternalContext ctx)
    {
        byte[] bytes = getAsByteArray(object, ctx);
        if( enableCompression(ctx) )
        {
            bytes = compress(bytes);
        }
        if(isSecure(ctx))
        {
            bytes = encrypt(bytes, ctx);
        }
        bytes = encode(bytes);
        try
        {
            return new String(bytes, ZIP_CHARSET);
        }
        catch (UnsupportedEncodingException e)
        {
            throw new FacesException(e);
        }
    }
public static final String construct ( Object object , ExternalContext ctx ) { byte [ ] bytes = getAsByteArray ( object , ctx ) ; if ( enableCompression ( ctx ) ) { bytes = compress ( bytes ) ; } if ( isSecure ( ctx ) ) { bytes = encrypt ( bytes , ctx ) ; } bytes = encode ( bytes ) ; try { return new String ( bytes , ZIP_CHARSET ) ; } catch ( UnsupportedEncodingException e ) { throw new FacesException ( e ) ; } }
This fires during the Render Response phase, saving state.