Clover Coverage Report - Pebble 2.5-SNAPSHOT
Coverage timestamp: Sat Jun 12 2010 09:39:29 EST
0   132   0   -
0   15   -   0
0     -  
1    
This report was generated with an evaluation server license. Purchase Clover or configure your license.
 
  PermalinkProvider       Line # 41 0 - 0 0 - -1.0
 
No Tests
 
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    }