File Source: MemberEntrySet.java

         /* 
    P/P   *  Method: org.apache.roller.weblogger.webservices.adminprotocol.sdk.MemberEntrySet__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   * WeblogEntrySet.java
    20   *
    21   * Created on January 17, 2006, 12:44 PM
    22   */
    23  
    24  package org.apache.roller.weblogger.webservices.adminprotocol.sdk;
    25  
    26  import java.io.InputStream;
    27  import java.io.IOException;
    28  import java.util.ArrayList;
    29  import java.util.Iterator;
    30  import java.util.List;
    31  import org.jdom.Document;
    32  import org.jdom.Element;
    33  import org.jdom.JDOMException;
    34  import org.jdom.input.SAXBuilder;
    35  import org.apache.roller.weblogger.webservices.adminprotocol.sdk.EntrySet.Types;
    36  
    37  /**
    38   * This class describes a set of member entries. 
    39   *
    40   * @author jtb
    41   */
    42  public class MemberEntrySet extends EntrySet {
    43      static interface Tags {
    44          public static final String MEMBERS = "members";
    45      }       
    46          
             /* 
    P/P       *  Method: void org.apache.roller.weblogger.webservices.adminprotocol.sdk.MemberEntrySet(String)
              * 
              *  Postconditions:
              *    java.lang.StringBuilder:toString(...)._tainted == urlPrefix._tainted
              *    init'ed(java.lang.StringBuilder:toString(...)._tainted)
              *    this.entries == null
              *    this.href == &java.lang.StringBuilder:toString(...)
              */
    47      public MemberEntrySet(String urlPrefix) {
    48          setHref(urlPrefix + "/" + Types.MEMBERS);        
    49      }    
    50  
             /* 
    P/P       *  Method: void org.apache.roller.weblogger.webservices.adminprotocol.sdk.MemberEntrySet(Document, String)
              * 
              *  Preconditions:
              *    d != null
              * 
              *  Postconditions:
              *    init'ed(java.lang.StringBuilder:toString(...)._tainted)
              *    init'ed(this.entries)
              *    this.href == &java.lang.StringBuilder:toString(...)
              */
    51      public MemberEntrySet(Document d, String urlPrefix) throws UnexpectedRootElementException {
    52          populate(d, urlPrefix);
    53      }
    54      
             /* 
    P/P       *  Method: void org.apache.roller.weblogger.webservices.adminprotocol.sdk.MemberEntrySet(InputStream, String)
              * 
              *  Presumptions:
              *    org.jdom.input.SAXBuilder:build(...)@57 != null
              * 
              *  Postconditions:
              *    init'ed(java.lang.StringBuilder:toString(...)._tainted)
              *    init'ed(this.entries)
              *    this.href == &java.lang.StringBuilder:toString(...)
              */
    55      public MemberEntrySet(InputStream stream, String urlPrefix) throws JDOMException, IOException, UnexpectedRootElementException {               
    56          SAXBuilder sb = new SAXBuilder();
    57          Document d = sb.build(stream);
    58  
    59          populate(d, urlPrefix);        
    60      }    
    61      
    62      private void populate(Document d, String urlPrefix) throws UnexpectedRootElementException {
                 /* 
    P/P           *  Method: void populate(Document, String)
                  * 
                  *  Preconditions:
                  *    d != null
                  * 
                  *  Presumptions:
                  *    java.lang.String:equals(...)@65 == 1
                  *    java.util.Iterator:next(...)@72 != null
                  *    org.jdom.Document:getRootElement(...)@63 != null
                  *    org.jdom.Element:getName(...)@64 != null
                  * 
                  *  Postconditions:
                  *    init'ed(java.lang.StringBuilder:toString(...)._tainted)
                  *    possibly_updated(this.entries)
                  *    this.href == &java.lang.StringBuilder:toString(...)
                  * 
                  *  Test Vectors:
                  *    java.util.Iterator:hasNext(...)@71: {0}, {1}
                  *    org.jdom.Element:getChildren(...)@68: Addr_Set{null}, Inverse{null}
                  */
    63          Element root = d.getRootElement();
    64          String rootName = root.getName();
    65          if (!rootName.equals(Tags.MEMBERS)) {
    66              throw new UnexpectedRootElementException("ERROR: Incorrect root element", Tags.MEMBERS, rootName);
    67          }
    68          List members = root.getChildren(MemberEntry.Tags.MEMBER, NAMESPACE);
    69          if (members != null) {
    70              List entries = new ArrayList();
    71              for (Iterator i = members.iterator(); i.hasNext(); ) {
    72                  Element member = (Element)i.next();
    73                  MemberEntry entry = new MemberEntry(member, urlPrefix);
    74                  entries.add(entry);
    75              }
    76              setEntries((Entry[])entries.toArray(new Entry[0]));
    77          }
    78          setHref(urlPrefix + "/" + Types.MEMBERS);
    79      }
    80          
    81      public String getType() {
                 /* 
    P/P           *  Method: String getType()
                  * 
                  *  Postconditions:
                  *    return_value == &"members"
                  */
    82          return Types.MEMBERS;
    83      }    
    84  }








SofCheck Inspector Build Version : 2.18479
MemberEntrySet.java 2009-Jan-02 14:25:14
MemberEntrySet.class 2009-Sep-04 03:12:46
MemberEntrySet$Tags.class 2009-Sep-04 03:12:46