Clover coverage report - Code Coverage for tapestry release 4.0-alpha-3
Coverage timestamp: Mon May 16 2005 09:05:49 EDT
file stats: LOC: 192   Methods: 0
NCLOC: 34   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
ILibrarySpecification.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.spec;
 16   
 
 17   
 import java.util.List;
 18   
 import java.util.Map;
 19   
 
 20   
 import org.apache.hivemind.LocationHolder;
 21   
 import org.apache.hivemind.Resource;
 22   
 import org.apache.tapestry.util.IPropertyHolder;
 23   
 
 24   
 /**
 25   
  * Interface for the Specification for a library.
 26   
  * {@link org.apache.tapestry.spec.ApplicationSpecification}is a specialized kind of library.
 27   
  * 
 28   
  * @author Geoffrey Longman
 29   
  * @since 2.2
 30   
  */
 31   
 
 32   
 public interface ILibrarySpecification extends IPropertyHolder, LocationHolder
 33   
 {
 34   
 
 35   
     /**
 36   
      * Returns the specification path (within the classpath) for an embedded library, or null if no
 37   
      * such library has been defined.
 38   
      */
 39   
 
 40   
     public String getLibrarySpecificationPath(String id);
 41   
 
 42   
     /**
 43   
      * Sets the specification path for an embedded library.
 44   
      * 
 45   
      * @throws IllegalArgumentException
 46   
      *             if a library with the given id already exists
 47   
      */
 48   
 
 49   
     public void setLibrarySpecificationPath(String id, String path);
 50   
 
 51   
     /**
 52   
      * Returns a sorted list of library ids (or the empty list, but not null).
 53   
      */
 54   
 
 55   
     public List getLibraryIds();
 56   
 
 57   
     public String getPageSpecificationPath(String name);
 58   
 
 59   
     public void setPageSpecificationPath(String name, String path);
 60   
 
 61   
     /**
 62   
      * Returns a sorted list of page names explicitly defined by this library, or an empty list (but
 63   
      * not null).
 64   
      */
 65   
 
 66   
     public List getPageNames();
 67   
 
 68   
     public void setComponentSpecificationPath(String type, String path);
 69   
 
 70   
     public String getComponentSpecificationPath(String type);
 71   
 
 72   
     /**
 73   
      * Returns the simple types of all components defined in this library. Returns a list of strings
 74   
      * in sorted order, or an empty list (but not null).
 75   
      * 
 76   
      * @since 3.0
 77   
      */
 78   
 
 79   
     public List getComponentTypes();
 80   
 
 81   
     /**
 82   
      * @throws UnsupportedOperationException always
 83   
      * @deprecated to be removed in release 4.1
 84   
      */
 85   
     
 86   
     public String getServiceClassName(String name);
 87   
 
 88   
     /**
 89   
      * Returns a sorted list of service names (or an empty list, but not null).
 90   
      * 
 91   
      * @returns an empty list (as of release 4.0)
 92   
      * @deprecated to be removed in release 4.1
 93   
      */
 94   
 
 95   
     public List getServiceNames();
 96   
 
 97   
     /**
 98   
      * @deprecated To be removed in release 4.1.
 99   
      * @throws UnsupportedOperationException always
 100   
      */
 101   
     public void setServiceClassName(String name, String className);
 102   
 
 103   
     /**
 104   
      * Returns the documentation for this library..
 105   
      */
 106   
 
 107   
     public String getDescription();
 108   
 
 109   
     /**
 110   
      * Sets the documentation for this library.
 111   
      */
 112   
 
 113   
     public void setDescription(String description);
 114   
 
 115   
     /**
 116   
      * Returns a Map of extensions; key is extension name, value is
 117   
      * {@link org.apache.tapestry.spec.IExtensionSpecification}. May return null. The returned Map
 118   
      * is immutable.
 119   
      */
 120   
 
 121   
     public Map getExtensionSpecifications();
 122   
 
 123   
     /**
 124   
      * Adds another extension specification.
 125   
      */
 126   
 
 127   
     public void addExtensionSpecification(String name, IExtensionSpecification extension);
 128   
 
 129   
     /**
 130   
      * Returns a sorted List of the names of all extensions. May return the empty list, but won't
 131   
      * return null.
 132   
      */
 133   
 
 134   
     public List getExtensionNames();
 135   
 
 136   
     /**
 137   
      * Returns the named IExtensionSpecification, or null if it doesn't exist.
 138   
      */
 139   
 
 140   
     public IExtensionSpecification getExtensionSpecification(String name);
 141   
 
 142   
     /**
 143   
      * Returns an instantiated extension. Extensions are created as needed and cached for later use.
 144   
      * 
 145   
      * @throws IllegalArgumentException
 146   
      *             if no extension specification exists for the given name.
 147   
      */
 148   
 
 149   
     public Object getExtension(String name);
 150   
 
 151   
     /**
 152   
      * Returns an instantiated extension, performing a check to ensure that the extension is a
 153   
      * subtype of the given class (or extends the given interface).
 154   
      * 
 155   
      * @throws IllegalArgumentException
 156   
      *             if no extension specification exists for the given name, or if the extension
 157   
      *             fails the type check.
 158   
      * @since 3.0
 159   
      */
 160   
 
 161   
     public Object getExtension(String name, Class typeConstraint);
 162   
 
 163   
     /**
 164   
      * Returns true if the named extension exists (or can be instantiated), returns false if the
 165   
      * named extension has no specification.
 166   
      */
 167   
 
 168   
     public boolean checkExtension(String name);
 169   
 
 170   
     /**
 171   
      * Invoked after the entire specification has been constructed to instantiate any extensions
 172   
      * marked immediate.
 173   
      */
 174   
 
 175   
     public void instantiateImmediateExtensions();
 176   
 
 177   
     public String getPublicId();
 178   
 
 179   
     public void setPublicId(String value);
 180   
 
 181   
     /**
 182   
      * Returns the location from which the specification was read.
 183   
      * 
 184   
      * @since 3.0
 185   
      */
 186   
 
 187   
     public Resource getSpecificationLocation();
 188   
 
 189   
     /** @since 3.0 * */
 190   
 
 191   
     public void setSpecificationLocation(Resource specificationLocation);
 192   
 }