Coverage Report - org.apache.maven.doxia.siterenderer.SiteRenderingContext
 
Classes in this File Line Coverage Branch Coverage Complexity
SiteRenderingContext
78%
43/55
N/A
1
 
 1  
 package org.apache.maven.doxia.siterenderer;
 2  
 
 3  
 /*
 4  
  * Licensed to the Apache Software Foundation (ASF) under one
 5  
  * or more contributor license agreements.  See the NOTICE file
 6  
  * distributed with this work for additional information
 7  
  * regarding copyright ownership.  The ASF licenses this file
 8  
  * to you under the Apache License, Version 2.0 (the
 9  
  * "License"); you may not use this file except in compliance
 10  
  * with the License.  You may obtain a copy of the License at
 11  
  *
 12  
  *   http://www.apache.org/licenses/LICENSE-2.0
 13  
  *
 14  
  * Unless required by applicable law or agreed to in writing,
 15  
  * software distributed under the License is distributed on an
 16  
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 17  
  * KIND, either express or implied.  See the License for the
 18  
  * specific language governing permissions and limitations
 19  
  * under the License.
 20  
  */
 21  
 
 22  
 import java.io.File;
 23  
 import java.util.ArrayList;
 24  
 import java.util.Collections;
 25  
 import java.util.Date;
 26  
 import java.util.List;
 27  
 import java.util.Locale;
 28  
 import java.util.Map;
 29  
 
 30  
 import org.apache.maven.doxia.site.decoration.DecorationModel;
 31  
 import org.codehaus.plexus.util.ReaderFactory;
 32  
 import org.codehaus.plexus.util.WriterFactory;
 33  
 
 34  
 /**
 35  
  * Context for a site rendering.
 36  
  *
 37  
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
 38  
  * @version $Id: SiteRenderingContext.java 1222981 2011-12-24 14:30:00Z rfscholte $
 39  
  */
 40  10
 public class SiteRenderingContext
 41  
 {
 42  10
     private String inputEncoding = ReaderFactory.UTF_8;
 43  
 
 44  10
     private String outputEncoding = WriterFactory.UTF_8;
 45  
 
 46  
     private String templateName;
 47  
 
 48  
     private ClassLoader templateClassLoader;
 49  
 
 50  
     private Map<String, ?> templateProperties;
 51  
 
 52  10
     private Locale locale = Locale.getDefault();
 53  
 
 54  10
     private List<Locale> siteLocales = new ArrayList<Locale>();
 55  
 
 56  
     private DecorationModel decoration;
 57  
 
 58  
     private String defaultWindowTitle;
 59  
 
 60  
     private File skinJarFile;
 61  
 
 62  
     private boolean usingDefaultTemplate;
 63  
 
 64  10
     private List<File> siteDirectories = new ArrayList<File>();
 65  
 
 66  
     private Map<String, String> moduleExcludes;
 67  
 
 68  10
     private List<ModuleReference> modules = new ArrayList<ModuleReference>();
 69  
 
 70  
     private boolean validate;
 71  
 
 72  
     private Date publishDate;
 73  
 
 74  
     /**
 75  
      * If input documents should be validated before parsing.
 76  
      * By default no validation is performed.
 77  
      *
 78  
      * @return true if validation is switched on.
 79  
      * @since 1.1.3
 80  
      */
 81  
     public boolean isValidate()
 82  
     {
 83  22
         return validate;
 84  
     }
 85  
 
 86  
     /**
 87  
      * Switch on/off validation.
 88  
      *
 89  
      * @param validate true to switch on validation.
 90  
      * @since 1.1.3
 91  
      */
 92  
     public void setValidate( boolean validate )
 93  
     {
 94  4
         this.validate = validate;
 95  4
     }
 96  
 
 97  
     /**
 98  
      * <p>Getter for the field <code>templateName</code>.</p>
 99  
      *
 100  
      * @return a {@link java.lang.String} object.
 101  
      */
 102  
     public String getTemplateName()
 103  
     {
 104  74
         return templateName;
 105  
     }
 106  
 
 107  
     /**
 108  
      * <p>Getter for the field <code>templateClassLoader</code>.</p>
 109  
      *
 110  
      * @return a {@link java.lang.ClassLoader} object.
 111  
      */
 112  
     public ClassLoader getTemplateClassLoader()
 113  
     {
 114  146
         return templateClassLoader;
 115  
     }
 116  
 
 117  
     /**
 118  
      * <p>Setter for the field <code>templateClassLoader</code>.</p>
 119  
      *
 120  
      * @param templateClassLoader a {@link java.lang.ClassLoader} object.
 121  
      */
 122  
     public void setTemplateClassLoader( ClassLoader templateClassLoader )
 123  
     {
 124  8
         this.templateClassLoader = templateClassLoader;
 125  8
     }
 126  
 
 127  
     /**
 128  
      * <p>Getter for the field <code>templateProperties</code>.</p>
 129  
      *
 130  
      * @return a {@link java.util.Map} object.
 131  
      */
 132  
     public Map<String, ?> getTemplateProperties()
 133  
     {
 134  74
         return templateProperties;
 135  
     }
 136  
 
 137  
     /**
 138  
      * <p>Setter for the field <code>templateProperties</code>.</p>
 139  
      *
 140  
      * @param templateProperties a {@link java.util.Map} object.
 141  
      */
 142  
     public void setTemplateProperties( Map<String, ?> templateProperties )
 143  
     {
 144  8
         this.templateProperties = Collections.unmodifiableMap( templateProperties );
 145  8
     }
 146  
 
 147  
     /**
 148  
      * <p>Getter for the field <code>locale</code>.</p>
 149  
      *
 150  
      * @return a {@link java.util.Locale} object.
 151  
      */
 152  
     public Locale getLocale()
 153  
     {
 154  74
         return locale;
 155  
     }
 156  
 
 157  
     /**
 158  
      * <p>Setter for the field <code>locale</code>.</p>
 159  
      *
 160  
      * @param locale a {@link java.util.Locale} object.
 161  
      */
 162  
     public void setLocale( Locale locale )
 163  
     {
 164  4
         this.locale = locale;
 165  4
     }
 166  
 
 167  
    /**
 168  
      * <p>Getter for the field <code>siteLocales</code> -
 169  
      * a list of locales available for this site context.</p>
 170  
      *
 171  
      * @return a {@link java.util.List} object with {@link java.util.Locale} objects.
 172  
      */
 173  
     public List<Locale> getSiteLocales()
 174  
     {
 175  74
         return siteLocales;
 176  
     }
 177  
 
 178  
    /**
 179  
     * <p>Adds passed locales to the list of site locales.</p>
 180  
     *
 181  
     * @param locales List of {@link java.util.Locale} objects to add to the site locales list.
 182  
     */
 183  
     public void addSiteLocales( List<Locale> locales )
 184  
     {
 185  0
         siteLocales.addAll( locales );
 186  0
     }
 187  
 
 188  
     /**
 189  
      * <p>Getter for the field <code>decoration</code>.</p>
 190  
      *
 191  
      * @return a {@link org.apache.maven.doxia.site.decoration.DecorationModel} object.
 192  
      */
 193  
     public DecorationModel getDecoration()
 194  
     {
 195  288
         return decoration;
 196  
     }
 197  
 
 198  
     /**
 199  
      * <p>Setter for the field <code>decoration</code>.</p>
 200  
      *
 201  
      * @param decoration a {@link org.apache.maven.doxia.site.decoration.DecorationModel} object.
 202  
      */
 203  
     public void setDecoration( DecorationModel decoration )
 204  
     {
 205  8
         this.decoration = decoration;
 206  8
     }
 207  
 
 208  
     /**
 209  
      * <p>Setter for the field <code>defaultWindowTitle</code>.</p>
 210  
      *
 211  
      * @param defaultWindowTitle a {@link java.lang.String} object.
 212  
      */
 213  
     public void setDefaultWindowTitle( String defaultWindowTitle )
 214  
     {
 215  4
         this.defaultWindowTitle = defaultWindowTitle;
 216  4
     }
 217  
 
 218  
     /**
 219  
      * <p>Getter for the field <code>defaultWindowTitle</code>.</p>
 220  
      *
 221  
      * @return a {@link java.lang.String} object.
 222  
      */
 223  
     public String getDefaultWindowTitle()
 224  
     {
 225  10
         return defaultWindowTitle;
 226  
     }
 227  
 
 228  
     /**
 229  
      * <p>Getter for the field <code>skinJarFile</code>.</p>
 230  
      *
 231  
      * @return a {@link java.io.File} object.
 232  
      */
 233  
     public File getSkinJarFile()
 234  
     {
 235  4
         return skinJarFile;
 236  
     }
 237  
 
 238  
     /**
 239  
      * <p>Setter for the field <code>skinJarFile</code>.</p>
 240  
      *
 241  
      * @param skinJarFile a {@link java.io.File} object.
 242  
      */
 243  
     public void setSkinJarFile( File skinJarFile )
 244  
     {
 245  4
         this.skinJarFile = skinJarFile;
 246  4
     }
 247  
 
 248  
     /**
 249  
      * <p>Setter for the field <code>templateName</code>.</p>
 250  
      *
 251  
      * @param templateName a {@link java.lang.String} object.
 252  
      */
 253  
     public void setTemplateName( String templateName )
 254  
     {
 255  10
         this.templateName = templateName;
 256  10
     }
 257  
 
 258  
     /**
 259  
      * <p>Setter for the field <code>usingDefaultTemplate</code>.</p>
 260  
      *
 261  
      * @param usingDefaultTemplate a boolean.
 262  
      */
 263  
     public void setUsingDefaultTemplate( boolean usingDefaultTemplate )
 264  
     {
 265  4
         this.usingDefaultTemplate = usingDefaultTemplate;
 266  4
     }
 267  
 
 268  
     /**
 269  
      * <p>isUsingDefaultTemplate.</p>
 270  
      *
 271  
      * @return a boolean.
 272  
      */
 273  
     public boolean isUsingDefaultTemplate()
 274  
     {
 275  4
         return usingDefaultTemplate;
 276  
     }
 277  
 
 278  
     /**
 279  
      * <p>addSiteDirectory.</p>
 280  
      *
 281  
      * @param file a {@link java.io.File} object.
 282  
      */
 283  
     public void addSiteDirectory( File file )
 284  
     {
 285  4
         this.siteDirectories.add( file );
 286  4
     }
 287  
 
 288  
     /**
 289  
      * Add a module source directory.
 290  
      *
 291  
      * @param moduleBasedir The base directory for module's source files.
 292  
      * @param moduleParserId a {@link java.lang.String} object.
 293  
      */
 294  
     public void addModuleDirectory( File moduleBasedir, String moduleParserId )
 295  
     {
 296  0
         this.modules.add( new ModuleReference( moduleParserId, moduleBasedir ) );
 297  0
     }
 298  
 
 299  
     /**
 300  
      * <p>Getter for the field <code>siteDirectories</code>.</p>
 301  
      *
 302  
      * @return List of site directories files.
 303  
      */
 304  
     public List<File> getSiteDirectories()
 305  
     {
 306  8
         return siteDirectories;
 307  
     }
 308  
 
 309  
     /**
 310  
      * <p>Getter for the field <code>modules</code>.</p>
 311  
      *
 312  
      * @return a {@link java.util.List} object.
 313  
      */
 314  
     public List<ModuleReference> getModules()
 315  
     {
 316  4
         return modules;
 317  
     }
 318  
 
 319  
     /**
 320  
      * <p>Getter for the field <code>moduleExcludes</code>.</p>
 321  
      *
 322  
      * @return a map defining exclude patterns (comma separated) by parser id.
 323  
      */
 324  
     public Map<String, String> getModuleExcludes()
 325  
     {
 326  4
         return moduleExcludes;
 327  
     }
 328  
 
 329  
     /**
 330  
      * <p>Setter for the field <code>moduleExcludes</code>.</p>
 331  
      *
 332  
      * @param moduleExcludes a {@link java.util.Map} object.
 333  
      */
 334  
     public void setModuleExcludes( Map<String, String> moduleExcludes )
 335  
     {
 336  0
         this.moduleExcludes = moduleExcludes;
 337  0
     }
 338  
 
 339  
     /**
 340  
      * <p>Getter for the field <code>inputEncoding</code>.</p>
 341  
      *
 342  
      * @return a {@link java.lang.String} object.
 343  
      */
 344  
     public String getInputEncoding()
 345  
     {
 346  46
         return inputEncoding;
 347  
     }
 348  
 
 349  
     /**
 350  
      * <p>Setter for the field <code>inputEncoding</code>.</p>
 351  
      *
 352  
      * @param inputEncoding a {@link java.lang.String} object.
 353  
      */
 354  
     public void setInputEncoding( String inputEncoding )
 355  
     {
 356  0
         this.inputEncoding = inputEncoding;
 357  0
     }
 358  
 
 359  
     /**
 360  
      * <p>Getter for the field <code>outputEncoding</code>.</p>
 361  
      *
 362  
      * @return a {@link java.lang.String} object.
 363  
      */
 364  
     public String getOutputEncoding()
 365  
     {
 366  70
         return outputEncoding;
 367  
     }
 368  
 
 369  
     /**
 370  
      * <p>Setter for the field <code>outputEncoding</code>.</p>
 371  
      *
 372  
      * @param outputEncoding a {@link java.lang.String} object.
 373  
      */
 374  
     public void setOutputEncoding( String outputEncoding )
 375  
     {
 376  0
         this.outputEncoding = outputEncoding;
 377  0
     }
 378  
 
 379  
     /**
 380  
      * <p>If you want to specify a specific publish date instead of the current date.</p>
 381  
      * 
 382  
      * @return the publish date, can be {@code null}
 383  
      */
 384  
     public Date getPublishDate()
 385  
     {
 386  74
         return publishDate;
 387  
     }
 388  
 
 389  
     /**
 390  
      * <p>Specify a specific publish date instead of the current date.</p>
 391  
      * 
 392  
      * @param publishDate the publish date
 393  
      */
 394  
     public void setPublishDate( Date publishDate )
 395  
     {
 396  0
         this.publishDate = publishDate;
 397  0
     }
 398  
     
 399  
 }