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 |