File Source: WeblogBookmarkFolderWrapper.java
/*
P/P * Method: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init
*/
1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. The ASF licenses this file to You
4 * under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License. For additional information regarding
15 * copyright in this work, please see the NOTICE file in the top level
16 * directory of this distribution.
17 */
18
19 package org.apache.roller.weblogger.pojos.wrapper;
20
21 import java.util.ArrayList;
22 import java.util.Iterator;
23 import java.util.List;
24 import java.util.Set;
25 import java.util.TreeSet;
26 import org.apache.roller.weblogger.WebloggerException;
27 import org.apache.roller.weblogger.pojos.BookmarkComparator;
28 import org.apache.roller.weblogger.pojos.WeblogBookmark;
29 import org.apache.roller.weblogger.pojos.WeblogBookmarkFolder;
30
31
32 /**
33 * Pojo safety wrapper for WeblogBookmarkFolder object.
34 */
35 public class WeblogBookmarkFolderWrapper {
36
37 // keep a reference to the wrapped pojo
38 private final WeblogBookmarkFolder pojo;
39
40 // this is private so that we can force the use of the .wrap(pojo) method
/*
P/P * Method: void org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper(WeblogBookmarkFolder)
*
* Postconditions:
* this.pojo == toWrap
* init'ed(this.pojo)
*/
41 private WeblogBookmarkFolderWrapper(WeblogBookmarkFolder toWrap) {
42 this.pojo = toWrap;
43 }
44
45
46 // wrap the given pojo if it is not null
47 public static WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder toWrap) {
/*
P/P * Method: WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)
*
* Postconditions:
* return_value == One-of{&new WeblogBookmarkFolderWrapper(wrap#1), null}
* return_value in Addr_Set{null,&new WeblogBookmarkFolderWrapper(wrap#1)}
* new WeblogBookmarkFolderWrapper(wrap#1) num objects <= 1
* new WeblogBookmarkFolderWrapper(wrap#1).pojo == toWrap
* new WeblogBookmarkFolderWrapper(wrap#1).pojo != null
*
* Test Vectors:
* toWrap: Addr_Set{null}, Inverse{null}
*/
48 if(toWrap != null)
49 return new WeblogBookmarkFolderWrapper(toWrap);
50
51 return null;
52 }
53
54
55 public String getId() {
/*
P/P * Method: String getId()
*
* Preconditions:
* this.pojo != null
* init'ed(this.pojo.id)
* init'ed(this.pojo.pcStateManager)
* (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 232-4
*
* Postconditions:
* return_value == this.pojo.id
* init'ed(return_value)
*/
56 return this.pojo.getId();
57 }
58
59
60 public String getName() {
/*
P/P * Method: String getName()
*
* Preconditions:
* this.pojo != null
* init'ed(this.pojo.name)
* init'ed(this.pojo.pcStateManager)
* (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 232-5
*
* Postconditions:
* return_value == this.pojo.name
* init'ed(return_value)
*/
61 return this.pojo.getName();
62 }
63
64
65 public String getDescription() {
/*
P/P * Method: String getDescription()
*
* Preconditions:
* this.pojo != null
* init'ed(this.pojo.description)
* init'ed(this.pojo.pcStateManager)
* (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 232-2
*
* Postconditions:
* return_value == this.pojo.description
* init'ed(return_value)
*/
66 return this.pojo.getDescription();
67 }
68
69
70 public String getPath() {
/*
P/P * Method: String getPath()
*
* Preconditions:
* this.pojo != null
* init'ed(this.pojo.path)
* init'ed(this.pojo.pcStateManager)
* (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 232-7
*
* Postconditions:
* return_value == this.pojo.path
* init'ed(return_value)
*/
71 return this.pojo.getPath();
72 }
73
74 // NOTE: removing this for 4.0 since there is really no need for this in templates
75 // public WeblogWrapper getWebsite() {
76 // return WeblogWrapper.wrap(this.pojo.getWebsite());
77 // }
78
79
80 public WeblogBookmarkFolderWrapper getParent() {
/*
P/P * Method: WeblogBookmarkFolderWrapper getParent()
*
* Preconditions:
* this.pojo != null
* this.pojo.parentFolder != null
* init'ed(this.pojo.pcStateManager)
* (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 232-6
*
* Postconditions:
* return_value == &new WeblogBookmarkFolderWrapper(wrap#1)
* new WeblogBookmarkFolderWrapper(wrap#1) num objects == 1
* new WeblogBookmarkFolderWrapper(wrap#1).pojo == this.pojo.parentFolder
* new WeblogBookmarkFolderWrapper(wrap#1).pojo != null
*/
81 return WeblogBookmarkFolderWrapper.wrap(this.pojo.getParent());
82 }
83
84
85 public List getFolders() {
/*
P/P * Method: List getFolders()
*
* Preconditions:
* this.pojo != null
* this.pojo.childFolders != null
* init'ed(this.pojo.pcStateManager)
* (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 232-3
*
* Postconditions:
* return_value == &new ArrayList(getFolders#1)
* new ArrayList(getFolders#1) num objects == 1
*
* Test Vectors:
* java.util.Iterator:hasNext(...)@94: {0}, {1}
*/
86 Set initialCollection = this.pojo.getFolders();
87
88 // iterate through and wrap
89 // we force the use of an ArrayList because it should be good enough to cover
90 // for any Collection type we encounter.
91 List wrappedCollection = new ArrayList(initialCollection.size());
92 Iterator it = initialCollection.iterator();
93 int i = 0;
94 while(it.hasNext()) {
95 wrappedCollection.add(i,WeblogBookmarkFolderWrapper.wrap((WeblogBookmarkFolder) it.next()));
+ 96 i++;
97 }
98
99 return wrappedCollection;
100 }
101
102
103 public List getBookmarks() {
/*
P/P * Method: List getBookmarks()
*
* Preconditions:
* this.pojo != null
* init'ed(this.pojo.bookmarks)
* init'ed(this.pojo.pcStateManager)
* (soft) init'ed(org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount)
*
* Postconditions:
* return_value == &new ArrayList(getBookmarks#3)
* new ArrayList(getBookmarks#3) num objects == 1
*
* Test Vectors:
* java.util.Iterator:hasNext(...)@113: {0}, {1}
*/
104 TreeSet initialCollection = new TreeSet(new BookmarkComparator());
105 initialCollection.addAll(this.pojo.getBookmarks());
106
107 // iterate through and wrap
108 // we force the use of an ArrayList because it should be good enough to cover
109 // for any Collection type we encounter.
110 ArrayList wrappedCollection = new ArrayList(initialCollection.size());
111 Iterator it = initialCollection.iterator();
112 int i = 0;
113 while(it.hasNext()) {
114 wrappedCollection.add(i,WeblogBookmarkWrapper.wrap((WeblogBookmark) it.next()));
+ 115 i++;
116 }
117
118 return wrappedCollection;
119 }
120
121
122 public List retrieveBookmarks(boolean subfolders)
123 throws WebloggerException {
124
/*
P/P * Method: List retrieveBookmarks(bool)
*
* Preconditions:
* this.pojo != null
*
* Presumptions:
* org.apache.roller.weblogger.business.BookmarkManager:getBookmarks(...)@312 != null
*
* Postconditions:
* return_value == &new ArrayList(retrieveBookmarks#1)
* new ArrayList(retrieveBookmarks#1) num objects == 1
*
* Test Vectors:
* java.util.Iterator:hasNext(...)@133: {0}, {1}
*/
125 List initialCollection = this.pojo.retrieveBookmarks(subfolders);
126
127 // iterate through and wrap
128 // we force the use of an ArrayList because it should be good enough to cover
129 // for any Collection type we encounter.
130 ArrayList wrappedCollection = new ArrayList(initialCollection.size());
131 Iterator it = initialCollection.iterator();
132 int i = 0;
133 while(it.hasNext()) {
134 wrappedCollection.add(i,WeblogBookmarkWrapper.wrap((WeblogBookmark) it.next()));
+ 135 i++;
136 }
137
138 return wrappedCollection;
139 }
140
141
142 // TODO: this method won't actually work and we probably don't need it here anyways?
143 public boolean descendentOf(WeblogBookmarkFolder ancestor) {
/*
P/P * Method: bool descendentOf(WeblogBookmarkFolder)
*
* Preconditions:
* this.pojo != null
* init'ed(this.pojo.parentFolder)
* init'ed(this.pojo.pcStateManager)
* (soft) ancestor != null
* (soft) init'ed(ancestor.path)
* (soft) init'ed(ancestor.pcStateManager)
* (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 232-7
* (soft) this.pojo.path != null
*
* Postconditions:
* init'ed(return_value)
*/
144 return this.pojo.descendentOf(ancestor);
145 }
146
147 }
SofCheck Inspector Build Version : 2.18479
| WeblogBookmarkFolderWrapper.java |
2009-Jan-02 14:24:56 |
| WeblogBookmarkFolderWrapper.class |
2009-Sep-04 03:12:32 |