Clover coverage report - Code Coverage for tapestry release 4.0-beta-6
Coverage timestamp: Wed Sep 7 2005 18:41:34 EDT
file stats: LOC: 75   Methods: 0
NCLOC: 14   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
IPageLoader.java - - - -
coverage
 1    // Copyright 2004, 2005 The Apache Software Foundation
 2    //
 3    // Licensed under the Apache License, Version 2.0 (the "License");
 4    // you may not use this file except in compliance with the License.
 5    // You may obtain a copy of the License at
 6    //
 7    // http://www.apache.org/licenses/LICENSE-2.0
 8    //
 9    // Unless required by applicable law or agreed to in writing, software
 10    // distributed under the License is distributed on an "AS IS" BASIS,
 11    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 12    // See the License for the specific language governing permissions and
 13    // limitations under the License.
 14   
 15    package org.apache.tapestry.engine;
 16   
 17    import org.apache.hivemind.Location;
 18    import org.apache.tapestry.IComponent;
 19    import org.apache.tapestry.INamespace;
 20    import org.apache.tapestry.IPage;
 21    import org.apache.tapestry.IRequestCycle;
 22    import org.apache.tapestry.ITemplateComponent;
 23    import org.apache.tapestry.spec.IComponentSpecification;
 24   
 25    /**
 26    * Interface exposed to components as they are loaded by the page loader.
 27    *
 28    * @see IComponent#finishLoad(IRequestCycle, IPageLoader,
 29    * org.apache.tapestry.spec.IComponentSpecification)
 30    * @author Howard Lewis Ship
 31    */
 32   
 33    public interface IPageLoader
 34    {
 35    /**
 36    * Invoked to create an implicit component (one which is defined in the containing component's
 37    * template, rather that in the containing component's specification).
 38    *
 39    * @see org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl
 40    * @since 3.0
 41    */
 42   
 43    public IComponent createImplicitComponent(IRequestCycle cycle, IComponent container, String componentId,
 44    String componentType, Location location);
 45   
 46    /**
 47    * Invoked by the {@link IPageSource}to load a specific page. This method is not reentrant. The
 48    * page is immediately attached to the {@link IEngine engine}.
 49    *
 50    * @param name
 51    * the simple (unqualified) name of the page to load
 52    * @param namespace
 53    * from which the page is to be loaded (used when resolving components embedded by
 54    * the page)
 55    * @param cycle
 56    * the request cycle the page is initially loaded for (this is used to define the
 57    * locale of the new page, and provide access to the corect specification source,
 58    * etc.).
 59    * @param specification
 60    * the specification for the page
 61    */
 62   
 63    public IPage loadPage(String name, INamespace namespace, IRequestCycle cycle, IComponentSpecification specification);
 64   
 65    /**
 66    * Invoked by a component (from within its
 67    * {@link IComponent#finishLoad(IRequestCycle, IPageLoader, IComponentSpecification)}method) to
 68    * load the template for the component. This will result in new components being created, and
 69    * the "outers" of the component being updated.
 70    *
 71    * @see ITemplateComponent
 72    * @since 4.0
 73    */
 74    public void loadTemplateForComponent(IRequestCycle cycle, ITemplateComponent component);
 75    }