Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 // Copyright 2006, 2007, 2008, 2009, 2010 The Apache Software Foundation
 //
 // 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 org.apache.tapestry5.internal.services;
    private final RequestGlobals requestGlobals;
    private final PageMarkupRenderer markupRenderer;
    private final MarkupWriterFactory markupWriterFactory;
    private final Response response;
    private final Logger logger;
    public PageResponseRendererImpl(RequestGlobals requestGlobalsMarkupWriterFactory markupWriterFactory,
            PageMarkupRenderer markupRendererPageContentTypeAnalyzer pageContentTypeAnalyzerResponse response,
            Logger logger)
    {
        this. = requestGlobals;
        this. = markupWriterFactory;
        this. = markupRenderer;
        this. = pageContentTypeAnalyzer;
        this. = response;
        this. = logger;
    }
    public void renderPageResponse(Page pagethrows IOException
    {
        assert page != null;
        ContentType contentType = .findContentType(page);
        // For the moment, the content type is all that's used determine the model for the markup writer.
        // It's something of a can of worms.
        MarkupWriter writer = .newMarkupWriter(contentType);
        .renderPageMarkup(pagewriter);
        PrintWriter pw = .getPrintWriter(contentType.toString());
        long startNanos = System.nanoTime();
        writer.toMarkup(pw);
        long endNanos = System.nanoTime();
        if (.isDebugEnabled())
        {
            long elapsedNanos = endNanos - startNanos;
            double elapsedSeconds = ((floatelapsedNanos) / 1000000000F;
            .debug(String.format("Response DOM streamed to markup in %.3f seconds"elapsedSeconds));
        }
        pw.close();
    }
New to GrepCode? Check out our FAQ X