File Source: availableplugins.java
/*
P/P * Method: net.sourceforge.pebble.plugins.AvailablePlugins__static_init
*/
1 /*
2 * Copyright (c) 2003-2005, 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.plugins;
33
34 import java.util.*;
35
36 /**
37 * @author James Roper
38 */
39 public class AvailablePlugins {
40 public static final String PERMALINK_PROVIDER = "permalink-provider";
41 public static final String CONTENT_DECORATOR = "content-decorator";
42 public static final String BLOG_LISTENER = "blog-listener";
43 public static final String BLOG_ENTRY_LISTENER = "blog-entry-listener";
44 public static final String COMMENT_LISTENER = "comment-listener";
45 public static final String COMMENT_CONFIRMATION_STRATEGY = "comment-confirmation-strategy";
46 public static final String TRACKBACK_LISTENER = "trackback-listener";
47 public static final String TRACKBACK_CONFIRMATION_STRATEGY = "trackback-confirmation-strategy";
48 public static final String LUCENCE_ANALYZER = "lucene-analyzer";
49 public static final String LOGGER = "logger";
50
51 private final Map<String, List<Plugin>> plugins;
52
53 public Map<String, List<Plugin>> copyMap()
54 {
/*
P/P * Method: Map copyMap()
*
* Preconditions:
* this.plugins != null
*
* Presumptions:
* java.util.Iterator:next(...)@56 != null
* java.util.Map:entrySet(...)@56 != null
*
* Postconditions:
* return_value == &new HashMap(copyMap#1)
* new HashMap(copyMap#1) num objects == 1
*
* Test Vectors:
* java.util.Iterator:hasNext(...)@56: {1}, {0}
*/
55 Map<String, List<Plugin>> map = new HashMap<String, List<Plugin>>();
56 for (Map.Entry<String, List<Plugin>> entry : plugins.entrySet())
57 {
58 map.put(entry.getKey(), new ArrayList<Plugin>(entry.getValue()));
59 }
60 return map;
61 }
62
/*
P/P * Method: void net.sourceforge.pebble.plugins.AvailablePlugins(Map)
*
* Postconditions:
* this.plugins == plugins
* init'ed(this.plugins)
*/
63 public AvailablePlugins(Map<String, List<Plugin>> plugins) {
64 this.plugins = plugins;
65 }
66
67 public Collection<Plugin> getPermalinkProviders() {
/*
P/P * Method: Collection getPermalinkProviders()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
68 return getEmptyIfNull(PERMALINK_PROVIDER);
69 }
70
71 public Collection<Plugin> getContentDecorators() {
/*
P/P * Method: Collection getContentDecorators()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
72 return getEmptyIfNull(CONTENT_DECORATOR);
73 }
74
75 public Collection<Plugin> getBlogListeners() {
/*
P/P * Method: Collection getBlogListeners()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
76 return getEmptyIfNull(BLOG_LISTENER);
77 }
78
79 public Collection<Plugin> getBlogEntryListeners() {
/*
P/P * Method: Collection getBlogEntryListeners()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
80 return getEmptyIfNull(BLOG_ENTRY_LISTENER);
81 }
82
83 public Collection<Plugin> getCommentListeners() {
/*
P/P * Method: Collection getCommentListeners()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
84 return getEmptyIfNull(COMMENT_LISTENER);
85 }
86
87 public Collection<Plugin> getCommentConfirmationStrategies() {
/*
P/P * Method: Collection getCommentConfirmationStrategies()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
88 return getEmptyIfNull(COMMENT_CONFIRMATION_STRATEGY);
89 }
90
91 public Collection<Plugin> getTrackbackListeners() {
/*
P/P * Method: Collection getTrackbackListeners()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
92 return getEmptyIfNull(TRACKBACK_LISTENER);
93 }
94
95 public Collection<Plugin> getTrackbackConfirmationStrategies() {
/*
P/P * Method: Collection getTrackbackConfirmationStrategies()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
96 return getEmptyIfNull(TRACKBACK_CONFIRMATION_STRATEGY);
97 }
98
99 public Collection<Plugin> getLuceneAnalyzers() {
/*
P/P * Method: Collection getLuceneAnalyzers()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
100 return getEmptyIfNull(LUCENCE_ANALYZER);
101 }
102
103 public Collection<Plugin> getLoggers() {
/*
P/P * Method: Collection getLoggers()
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*/
104 return getEmptyIfNull(LOGGER);
105 }
106
107 private Collection<Plugin> getEmptyIfNull(String key) {
/*
P/P * Method: Collection getEmptyIfNull(String)
*
* Preconditions:
* this.plugins != null
*
* Postconditions:
* init'ed(return_value)
*
* Test Vectors:
* java.util.Map:get(...)@108: Inverse{null}, Addr_Set{null}
*/
108 Collection<Plugin> list = plugins.get(key);
109 if (list == null) {
110 return Collections.emptyList();
111 }
112 else {
113 return Collections.unmodifiableCollection(list);
114 }
115 }
116
117 }
SofCheck Inspector Build Version : 2.22510
| availableplugins.java |
2010-Jun-25 19:40:32 |
| availableplugins.class |
2010-Jul-19 20:23:38 |