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