File Source: permalinkprovider.java

         /* 
    P/P   *  Method: net.sourceforge.pebble.api.permalink.PermalinkProvider__static_init
          */
     1  /*
     2   * Copyright (c) 2003-2006, Simon Brown
     3   * All rights reserved.
     4   *
     5   * Redistribution and use in source and binary forms, with or without
     6   * modification, are permitted provided that the following conditions are met:
     7   *
     8   *   - Redistributions of source code must retain the above copyright
     9   *     notice, this list of conditions and the following disclaimer.
    10   *
    11   *   - Redistributions in binary form must reproduce the above copyright
    12   *     notice, this list of conditions and the following disclaimer in
    13   *     the documentation and/or other materials provided with the
    14   *     distribution.
    15   *
    16   *   - Neither the name of Pebble nor the names of its contributors may
    17   *     be used to endorse or promote products derived from this software
    18   *     without specific prior written permission.
    19   *
    20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    21   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    22   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    23   * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    24   * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    25   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    26   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    27   * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    28   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    29   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    30   * POSSIBILITY OF SUCH DAMAGE.
    31   */
    32  package net.sourceforge.pebble.api.permalink;
    33  
    34  import net.sourceforge.pebble.domain.*;
    35  
    36  /**
    37   * An interface implemented by any class that generates permalinks.
    38   *
    39   * @author Simon Brown
    40   */
    41  public interface PermalinkProvider {
    42  
    43    /**
    44     * Gets the blog associated with this provider instance.
    45     *
    46     * @return  a Blog instance
    47     */
    48    public Blog getBlog();
    49  
    50    /**
    51     * Sets the blog associated with this provider instance.
    52     *
    53     * @param blog    a Blog instance
    54     */
    55    public void setBlog(Blog blog);
    56  
    57    /**
    58     * Gets the permalink for a blog entry.
    59     *
    60     * @param   blogEntry   a BlogEntry instance
    61     * @return  a URI as a String
    62     */
    63    public String getPermalink(BlogEntry blogEntry);
    64  
    65    /**
    66     * Determines whether the specified URI is a blog entry permalink.
    67     *
    68     * @param uri   a relative URI
    69     * @return      true if the URI represents a permalink to a blog entry,
    70     *              false otherwise
    71     */
    72    public boolean isBlogEntryPermalink(String uri);
    73  
    74    /**
    75     * Gets the blog entry referred to by the specified URI.
    76     *
    77     * @param uri   a relative URI
    78     * @return  a BlogEntry instance, or null if one can't be found
    79     */
    80    public BlogEntry getBlogEntry(String uri);
    81  
    82    /**
    83     * Gets the permalink for a monthly blog.
    84     *
    85     * @param month   a Month instance
    86     * @return  a URI as a String
    87     */
    88    public String getPermalink(Month month);
    89  
    90    /**
    91     * Determines whether the specified URI is a monthly blog permalink.
    92     *
    93     * @param uri   a relative URI
    94     * @return      true if the URI represents a permalink to a monthly blog,
    95     *              false otherwise
    96     */
    97    public boolean isMonthPermalink(String uri);
    98  
    99    /**
   100     * Gets the monthly blog referred to by the specified URI.
   101     *
   102     * @param uri   a relative URI
   103     * @return  a Month instance, or null if one can't be found
   104     */
   105    public Month getMonth(String uri);
   106  
   107    /**
   108     * Gets the permalink for a day.
   109     *
   110     * @param day   a Day instance
   111     * @return  a URI as a String
   112     */
   113    public String getPermalink(Day day);
   114  
   115    /**
   116     * Determines whether the specified URI is a day permalink.
   117     *
   118     * @param uri   a relative URI
   119     * @return      true if the URI represents a permalink to a day,
   120     *              false otherwise
   121     */
   122    public boolean isDayPermalink(String uri);
   123  
   124    /**
   125     * Gets the day referred to by the specified URI.
   126     *
   127     * @param uri   a relative URI
   128     * @return  a Day instance, or null if one can't be found
   129     */
   130    public Day getDay(String uri);
   131  
   132  }








SofCheck Inspector Build Version : 2.22510
permalinkprovider.java 2010-Jun-25 19:40:32
permalinkprovider.class 2010-Jul-19 20:23:40