//# 2 errors, 443 messages
//#
/*
    //#AbstractWeblogEntriesPager.java:1:1: class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
 * Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */

package org.apache.roller.weblogger.ui.rendering.pagers;

import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
import org.apache.roller.weblogger.pojos.Weblog;
import org.apache.roller.util.DateUtil;
import org.apache.roller.weblogger.business.URLStrategy;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.util.I18nMessages;

/**
 * An abstract implementation of a WeblogEntriesPager.
 *
 * This implementation lays out the basic functionality of an entries pager so
 * that subclasses can easily tweak only the few things necessary to handle
 * paging their own way.
 */
public abstract class AbstractWeblogEntriesPager implements WeblogEntriesPager {
    
    private static Log log = LogFactory.getLog(AbstractWeblogEntriesPager.class);
    //#AbstractWeblogEntriesPager.java:47: method: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init
    //#AbstractWeblogEntriesPager.java:47: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager]
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getHomeLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getHomeName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getNextCollectionLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getNextCollectionName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getNextLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getNextName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getPrevCollectionLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getPrevCollectionName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getPrevLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getPrevName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getToday()Ljava/util/Date;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.hasMoreEntries()Z
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.parseDate(Ljava/lang/String;)Ljava/util/Date;
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): log
    //#output(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager]
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String; == &createURL
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getHomeLink()Ljava/lang/String; == &getHomeLink
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getHomeName()Ljava/lang/String; == &getHomeName
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getNextCollectionLink()Ljava/lang/String; == &getNextCollectionLink
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getNextCollectionName()Ljava/lang/String; == &getNextCollectionName
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getNextLink()Ljava/lang/String; == &getNextLink
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getNextName()Ljava/lang/String; == &getNextName
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getPrevCollectionLink()Ljava/lang/String; == &getPrevCollectionLink
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getPrevCollectionName()Ljava/lang/String; == &getPrevCollectionName
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getPrevLink()Ljava/lang/String; == &getPrevLink
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getPrevName()Ljava/lang/String; == &getPrevName
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.getToday()Ljava/util/Date; == &getToday
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.hasMoreEntries()Z == &hasMoreEntries
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): __Dispatch_Table.parseDate(Ljava/lang/String;)Ljava/util/Date; == &parseDate
    //#post(org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init): init'ed(log)
    //#AbstractWeblogEntriesPager.java:47: end of method: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager__static_init
    
    // message utils for doing i18n messages
    I18nMessages messageUtils = null;
    
    // url strategy for building urls
    URLStrategy urlStrategy = null;
    
    Weblog weblog = null;
    String locale = null;
    String pageLink = null;
    String entryAnchor = null;
    String dateString = null;
    String catPath = null;
    List tags = new ArrayList();
    int offset = 0;
    int page = 0;
    int length = 0;
    
    
    public AbstractWeblogEntriesPager(
            URLStrategy        strat,
            Weblog             weblog,
            String             locale,
            String             pageLink,
            String             entryAnchor,
            String             dateString,
            String             catPath,
            List               tags,
            int                page) {
    //#AbstractWeblogEntriesPager.java:76: method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): "request for messages in locale = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): catPath
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): dateString
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): entryAnchor
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): locale
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): locale._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): org/apache/roller/weblogger/util/I18nMessages.__Descendant_Table[org/apache/roller/weblogger/util/I18nMessages]
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): org/apache/roller/weblogger/util/I18nMessages.__Descendant_Table[others]
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): org/apache/roller/weblogger/util/I18nMessages.log
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): org/apache/roller/weblogger/util/I18nMessages.messagesMap
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): page
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): pageLink
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): strat
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): tags
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this
    //#input(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): weblog
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new ArrayList(AbstractWeblogEntriesPager#1) num objects
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new I18nMessages(getMessages#2) num objects
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new I18nMessages(getMessages#2).__Tag
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new I18nMessages(getMessages#2).bundle
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new I18nMessages(getMessages#2).locale
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#2) num objects
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#2)._tainted
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#3) num objects
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#3)._tainted
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.catPath
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.dateString
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.entryAnchor
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.length
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.locale
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.messageUtils
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.offset
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.page
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.pageLink
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.tags
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.urlStrategy
    //#output(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.weblog
    //#new obj(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new ArrayList(AbstractWeblogEntriesPager#1)
    //#new obj(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new I18nMessages(getMessages#2)
    //#new obj(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#2)
    //#new obj(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#3)
    //#pre[4] (void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): locale == null
    //#pre[6] (void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): org/apache/roller/weblogger/util/I18nMessages.messagesMap != null
    //#pre[12] (void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): weblog != null
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.catPath == catPath
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): init'ed(this.catPath)
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.dateString == dateString
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): init'ed(this.dateString)
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.entryAnchor == entryAnchor
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): init'ed(this.entryAnchor)
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): init'ed(this.length)
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.locale == null
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.messageUtils != null
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): init'ed(this.offset)
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.page == One-of{0, page}
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.page >= 0
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.pageLink == pageLink
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): init'ed(this.pageLink)
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.tags == One-of{&new ArrayList(AbstractWeblogEntriesPager#1), tags}
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.tags != null
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.urlStrategy == strat
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): init'ed(this.urlStrategy)
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.weblog == weblog
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): this.weblog != null
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new ArrayList(AbstractWeblogEntriesPager#1) num objects == 1
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new I18nMessages(getMessages#2) num objects <= 1
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new I18nMessages(getMessages#2).__Tag == org/apache/roller/weblogger/util/I18nMessages
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): init'ed(new I18nMessages(getMessages#2).bundle)
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new I18nMessages(getMessages#2).locale != null
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#2) num objects == 0
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#2)._tainted == 0
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#3)._tainted == 0
    //#post(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): new Locale(AbstractWeblogEntriesPager#3) num objects == 0
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): Effects-of-calling:java.util.ResourceBundle:getBundle
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): Effects-of-calling:org.apache.commons.logging.Log:debug
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): Effects-of-calling:java.util.Map:get
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): Effects-of-calling:java.util.Locale:toString
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): page: {-2_147_483_648..0}, {1..4_294_967_295}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)): tags: Addr_Set{null}, Inverse{null}
        
        this.urlStrategy = strat;
        
        this.weblog = weblog;
        this.locale = locale;
        this.pageLink = pageLink;
        this.entryAnchor = entryAnchor;
        this.dateString = dateString;
        this.catPath = catPath;
        
        if(tags != null)
          this.tags = tags;
        
        // make sure offset, length, and page are valid
        int maxLength = WebloggerRuntimeConfig.getIntProperty("site.pages.maxEntries");
    //#AbstractWeblogEntriesPager.java:91: Warning: method not available
    //#    -- call on int org.apache.roller.weblogger.config.WebloggerRuntimeConfig:getIntProperty(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    unanalyzed callee: int org.apache.roller.weblogger.config.WebloggerRuntimeConfig:getIntProperty(String)
        length = weblog.getEntryDisplayCount();
    //#AbstractWeblogEntriesPager.java:92: Warning: method not available
    //#    -- call on int org.apache.roller.weblogger.pojos.Weblog:getEntryDisplayCount()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    unanalyzed callee: int org.apache.roller.weblogger.pojos.Weblog:getEntryDisplayCount()
        if(length > maxLength) {
            length = maxLength;
        }
        
        if(page > 0) {
            this.page = page;
        }
        this.offset = length * page;
    //#AbstractWeblogEntriesPager.java:100: ?overflow
    //#    this.length*page in -2_147_483_648..4_294_967_295
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    basic block: bb_7
    //#    assertion: this.length*page in -2_147_483_648..4_294_967_295
    //#    VN: page*this.length
    //#    Expected: {-2_147_483_648..4_294_967_295, Invalid}
    //#    Bad: {-9_223_372_034_707_292_160..-2_147_483_649, 4_294_967_296..18_446_744_065_119_617_025}
    //#    Attribs:  Int  Bad < Exp  Bad > Exp
        
        // get a message utils instance to handle i18n of messages
        Locale viewLocale = null;
        if(locale != null) {
    //#AbstractWeblogEntriesPager.java:104: Warning: test always goes same way
    //#    test predetermined because locale == null
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    from bb: bb_7
    //#    live edge: bb_7-->bb_13
    //#    tested vn: locale == null
    //#    tested vn values: {1}
            String[] langCountry = locale.split("_");
    //#AbstractWeblogEntriesPager.java:105: Warning: dead code
    //#    dead code here because locale == null
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    dead bb: bb_8
            if(langCountry.length == 1) {
                viewLocale = new Locale(langCountry[0]);
    //#AbstractWeblogEntriesPager.java:107: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    dead bb: bb_9
            } else if(langCountry.length == 2) {
    //#AbstractWeblogEntriesPager.java:108: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    dead bb: bb_10
                viewLocale = new Locale(langCountry[0], langCountry[1]);
    //#AbstractWeblogEntriesPager.java:109: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    dead bb: bb_11
            }
        } else {
    //#AbstractWeblogEntriesPager.java:111: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    dead bb: bb_12
            viewLocale = weblog.getLocaleInstance();
    //#AbstractWeblogEntriesPager.java:112: Warning: method not available
    //#    -- call on Locale org.apache.roller.weblogger.pojos.Weblog:getLocaleInstance()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    unanalyzed callee: Locale org.apache.roller.weblogger.pojos.Weblog:getLocaleInstance()
        }
        this.messageUtils = I18nMessages.getMessages(viewLocale);
    //#AbstractWeblogEntriesPager.java:114: ?precondition failure
    //#    org/apache/roller/weblogger/util/I18nMessages.getMessages: locale != null
    //#    severity: MEDIUM
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    //#    basic block: bb_14
    //#    assertion: viewLocale != null
    //#    callee: I18nMessages org/apache/roller/weblogger/util/I18nMessages.getMessages(Locale)
    //#    callee assertion: locale != null
    //#    callee file: I18nMessages.java
    //#    callee precondition index: [1]
    //#    callee srcpos: 87
    //#    VN: viewLocale
    //#    Expected: Inverse{null}
    //#    Bad: Addr_Set{null}
    //#    Attribs:  Ptr  null in Bad
    }
    //#AbstractWeblogEntriesPager.java:115: end of method: void org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager(URLStrategy, Weblog, String, String, String, String, String, List, int)
    
    
    public boolean hasMoreEntries() {
        return false;
    //#AbstractWeblogEntriesPager.java:119: method: bool org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.hasMoreEntries()
    //#output(bool hasMoreEntries()): return_value
    //#post(bool hasMoreEntries()): return_value == 0
    //#AbstractWeblogEntriesPager.java:119: end of method: bool org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.hasMoreEntries()
    }
    
    
    public String getHomeLink() {
        return createURL(0, 0, weblog, locale, pageLink, entryAnchor, dateString, catPath, tags);
    //#AbstractWeblogEntriesPager.java:124: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getHomeLink()
    //#AbstractWeblogEntriesPager.java:124: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: String getHomeLink()
    //#    suspicious precondition index: [2]
    //#input(String getHomeLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager]
    //#input(String getHomeLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager]
    //#input(String getHomeLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager]
    //#input(String getHomeLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager]
    //#input(String getHomeLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager]
    //#input(String getHomeLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager]
    //#input(String getHomeLink()): __Descendant_Table[others]
    //#input(String getHomeLink()): __Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getHomeLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getHomeLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getHomeLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getHomeLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getHomeLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getHomeLink()): this
    //#input(String getHomeLink()): this.__Tag
    //#input(String getHomeLink()): this.catPath
    //#input(String getHomeLink()): this.dateString
    //#input(String getHomeLink()): this.entryAnchor
    //#input(String getHomeLink()): this.locale
    //#input(String getHomeLink()): this.pageLink
    //#input(String getHomeLink()): this.tags
    //#input(String getHomeLink()): this.urlStrategy
    //#input(String getHomeLink()): this.weblog
    //#output(String getHomeLink()): return_value
    //#pre[2] (String getHomeLink()): this.__Tag in {org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager}
    //#pre[3] (String getHomeLink()): init'ed(this.catPath)
    //#pre[4] (String getHomeLink()): init'ed(this.dateString)
    //#pre[5] (String getHomeLink()): init'ed(this.entryAnchor)
    //#pre[6] (String getHomeLink()): init'ed(this.locale)
    //#pre[7] (String getHomeLink()): init'ed(this.pageLink)
    //#pre[8] (String getHomeLink()): init'ed(this.tags)
    //#pre[9] (String getHomeLink()): this.urlStrategy != null
    //#pre[10] (String getHomeLink()): init'ed(this.weblog)
    //#post(String getHomeLink()): init'ed(return_value)
    //#unanalyzed(String getHomeLink()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogPageURL
    //#unanalyzed(String getHomeLink()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogEntryURL
    //#unanalyzed(String getHomeLink()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogCollectionURL
    //#AbstractWeblogEntriesPager.java:124: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getHomeLink()
    }
    
    
    public String getHomeName() {
        return messageUtils.getString("weblogEntriesPager.latest.home");
    //#AbstractWeblogEntriesPager.java:129: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getHomeName()
    //#input(String getHomeName()): "Error getting key "._tainted
    //#input(String getHomeName()): "weblogEntriesPager.latest.home"._tainted
    //#input(String getHomeName()): org/apache/roller/weblogger/util/I18nMessages.log
    //#input(String getHomeName()): this
    //#input(String getHomeName()): this.messageUtils
    //#input(String getHomeName()): this.messageUtils.bundle
    //#output(String getHomeName()): return_value
    //#pre[2] (String getHomeName()): this.messageUtils != null
    //#pre[3] (String getHomeName()): (soft) this.messageUtils.bundle != null
    //#post(String getHomeName()): init'ed(return_value)
    //#unanalyzed(String getHomeName()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String getHomeName()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String getHomeName()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(String getHomeName()): Effects-of-calling:java.util.ResourceBundle:getString
    //#unanalyzed(String getHomeName()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String getHomeName()): Effects-of-calling:org.apache.commons.logging.Log:warn
    //#AbstractWeblogEntriesPager.java:129: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getHomeName()
    }
    
    
    public String getNextLink() {
        if (hasMoreEntries()) {
    //#AbstractWeblogEntriesPager.java:134: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getNextLink()
    //#AbstractWeblogEntriesPager.java:134: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: String getNextLink()
    //#    suspicious precondition index: [2]
    //#input(String getNextLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager]
    //#input(String getNextLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager]
    //#input(String getNextLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager]
    //#input(String getNextLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager]
    //#input(String getNextLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager]
    //#input(String getNextLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager]
    //#input(String getNextLink()): __Descendant_Table[others]
    //#input(String getNextLink()): __Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getNextLink()): __Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getNextLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextLink()): this
    //#input(String getNextLink()): this.__Tag
    //#input(String getNextLink()): this.catPath
    //#input(String getNextLink()): this.dateString
    //#input(String getNextLink()): this.entryAnchor
    //#input(String getNextLink()): this.locale
    //#input(String getNextLink()): this.more
    //#input(String getNextLink()): this.page
    //#input(String getNextLink()): this.pageLink
    //#input(String getNextLink()): this.tags
    //#input(String getNextLink()): this.urlStrategy
    //#input(String getNextLink()): this.weblog
    //#output(String getNextLink()): return_value
    //#pre[2] (String getNextLink()): this.__Tag in {org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager}
    //#pre[3] (String getNextLink()): (soft) init'ed(this.catPath)
    //#pre[4] (String getNextLink()): (soft) init'ed(this.dateString)
    //#pre[5] (String getNextLink()): (soft) init'ed(this.entryAnchor)
    //#pre[6] (String getNextLink()): (soft) init'ed(this.locale)
    //#pre[7] (String getNextLink()): (soft) init'ed(this.more)
    //#pre[8] (String getNextLink()): (soft) this.page <= 4_294_967_294
    //#pre[9] (String getNextLink()): (soft) init'ed(this.pageLink)
    //#pre[10] (String getNextLink()): (soft) init'ed(this.tags)
    //#pre[11] (String getNextLink()): (soft) this.urlStrategy != null
    //#pre[12] (String getNextLink()): (soft) init'ed(this.weblog)
    //#post(String getNextLink()): init'ed(return_value)
    //#unanalyzed(String getNextLink()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogPageURL
    //#unanalyzed(String getNextLink()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogEntryURL
    //#unanalyzed(String getNextLink()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogCollectionURL
            return createURL(page, 1, weblog, locale, pageLink, entryAnchor, dateString, catPath, tags);
        }
        return null;
    //#AbstractWeblogEntriesPager.java:137: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getNextLink()
    }
    
    
    public String getNextName() {
        if (hasMoreEntries()) {
    //#AbstractWeblogEntriesPager.java:142: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getNextName()
    //#AbstractWeblogEntriesPager.java:142: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: String getNextName()
    //#    suspicious precondition index: [2]
    //#input(String getNextName()): "Error getting key "._tainted
    //#input(String getNextName()): "weblogEntriesPager.latest.next"._tainted
    //#input(String getNextName()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager]
    //#input(String getNextName()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager]
    //#input(String getNextName()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager]
    //#input(String getNextName()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager]
    //#input(String getNextName()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager]
    //#input(String getNextName()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager]
    //#input(String getNextName()): __Descendant_Table[others]
    //#input(String getNextName()): __Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextName()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextName()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextName()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextName()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextName()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager.__Dispatch_Table.hasMoreEntries()Z
    //#input(String getNextName()): org/apache/roller/weblogger/util/I18nMessages.log
    //#input(String getNextName()): this
    //#input(String getNextName()): this.__Tag
    //#input(String getNextName()): this.messageUtils
    //#input(String getNextName()): this.messageUtils.bundle
    //#input(String getNextName()): this.more
    //#output(String getNextName()): return_value
    //#pre[2] (String getNextName()): this.__Tag in {org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager}
    //#pre[3] (String getNextName()): (soft) this.messageUtils != null
    //#pre[4] (String getNextName()): (soft) this.messageUtils.bundle != null
    //#pre[5] (String getNextName()): (soft) init'ed(this.more)
    //#post(String getNextName()): init'ed(return_value)
    //#unanalyzed(String getNextName()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String getNextName()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String getNextName()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(String getNextName()): Effects-of-calling:java.util.ResourceBundle:getString
    //#unanalyzed(String getNextName()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String getNextName()): Effects-of-calling:org.apache.commons.logging.Log:warn
            return messageUtils.getString("weblogEntriesPager.latest.next");
        }
        return null;
    //#AbstractWeblogEntriesPager.java:145: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getNextName()
    }
    
    
    public String getPrevLink() {
        if (page > 0) {
    //#AbstractWeblogEntriesPager.java:150: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getPrevLink()
    //#AbstractWeblogEntriesPager.java:150: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: String getPrevLink()
    //#    suspicious precondition index: [2]
    //#    Attribs:  Soft
    //#input(String getPrevLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager]
    //#input(String getPrevLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager]
    //#input(String getPrevLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager]
    //#input(String getPrevLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager]
    //#input(String getPrevLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager]
    //#input(String getPrevLink()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager]
    //#input(String getPrevLink()): __Descendant_Table[others]
    //#input(String getPrevLink()): __Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getPrevLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getPrevLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getPrevLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getPrevLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getPrevLink()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager.__Dispatch_Table.createURL(IILorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    //#input(String getPrevLink()): this
    //#input(String getPrevLink()): this.__Tag
    //#input(String getPrevLink()): this.catPath
    //#input(String getPrevLink()): this.dateString
    //#input(String getPrevLink()): this.entryAnchor
    //#input(String getPrevLink()): this.locale
    //#input(String getPrevLink()): this.page
    //#input(String getPrevLink()): this.pageLink
    //#input(String getPrevLink()): this.tags
    //#input(String getPrevLink()): this.urlStrategy
    //#input(String getPrevLink()): this.weblog
    //#output(String getPrevLink()): return_value
    //#pre[7] (String getPrevLink()): init'ed(this.page)
    //#pre[2] (String getPrevLink()): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager}
    //#pre[3] (String getPrevLink()): (soft) init'ed(this.catPath)
    //#pre[4] (String getPrevLink()): (soft) init'ed(this.dateString)
    //#pre[5] (String getPrevLink()): (soft) init'ed(this.entryAnchor)
    //#pre[6] (String getPrevLink()): (soft) init'ed(this.locale)
    //#pre[8] (String getPrevLink()): (soft) init'ed(this.pageLink)
    //#pre[9] (String getPrevLink()): (soft) init'ed(this.tags)
    //#pre[10] (String getPrevLink()): (soft) this.urlStrategy != null
    //#pre[11] (String getPrevLink()): (soft) init'ed(this.weblog)
    //#post(String getPrevLink()): init'ed(return_value)
    //#unanalyzed(String getPrevLink()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogPageURL
    //#unanalyzed(String getPrevLink()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogEntryURL
    //#unanalyzed(String getPrevLink()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogCollectionURL
    //#test_vector(String getPrevLink()): this.page: {-2_147_483_648..0}, {1..4_294_967_295}
            return createURL(page, -1, weblog, locale, pageLink, entryAnchor, dateString, catPath, tags);
        }
        return null;
    //#AbstractWeblogEntriesPager.java:153: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getPrevLink()
    }
    
    
    public String getPrevName() {
        if (page > 0) {
    //#AbstractWeblogEntriesPager.java:158: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getPrevName()
    //#input(String getPrevName()): "Error getting key "._tainted
    //#input(String getPrevName()): "weblogEntriesPager.latest.prev"._tainted
    //#input(String getPrevName()): org/apache/roller/weblogger/util/I18nMessages.log
    //#input(String getPrevName()): this
    //#input(String getPrevName()): this.messageUtils
    //#input(String getPrevName()): this.messageUtils.bundle
    //#input(String getPrevName()): this.page
    //#output(String getPrevName()): return_value
    //#pre[4] (String getPrevName()): init'ed(this.page)
    //#pre[2] (String getPrevName()): (soft) this.messageUtils != null
    //#pre[3] (String getPrevName()): (soft) this.messageUtils.bundle != null
    //#post(String getPrevName()): init'ed(return_value)
    //#unanalyzed(String getPrevName()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String getPrevName()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String getPrevName()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(String getPrevName()): Effects-of-calling:java.util.ResourceBundle:getString
    //#unanalyzed(String getPrevName()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String getPrevName()): Effects-of-calling:org.apache.commons.logging.Log:warn
    //#test_vector(String getPrevName()): this.page: {-2_147_483_648..0}, {1..4_294_967_295}
            return messageUtils.getString("weblogEntriesPager.latest.prev");
        }
        return null;
    //#AbstractWeblogEntriesPager.java:161: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getPrevName()
    }
    
    
    public String getNextCollectionLink() {
        return null;
    //#AbstractWeblogEntriesPager.java:166: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getNextCollectionLink()
    //#output(String getNextCollectionLink()): return_value
    //#post(String getNextCollectionLink()): return_value == null
    //#AbstractWeblogEntriesPager.java:166: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getNextCollectionLink()
    }
    
    
    public String getNextCollectionName() {
        return null;
    //#AbstractWeblogEntriesPager.java:171: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getNextCollectionName()
    //#output(String getNextCollectionName()): return_value
    //#post(String getNextCollectionName()): return_value == null
    //#AbstractWeblogEntriesPager.java:171: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getNextCollectionName()
    }
    
    
    public String getPrevCollectionLink() {
        return null;
    //#AbstractWeblogEntriesPager.java:176: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getPrevCollectionLink()
    //#output(String getPrevCollectionLink()): return_value
    //#post(String getPrevCollectionLink()): return_value == null
    //#AbstractWeblogEntriesPager.java:176: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getPrevCollectionLink()
    }
    
    
    public String getPrevCollectionName() {
        return null;
    //#AbstractWeblogEntriesPager.java:181: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getPrevCollectionName()
    //#output(String getPrevCollectionName()): return_value
    //#post(String getPrevCollectionName()): return_value == null
    //#AbstractWeblogEntriesPager.java:181: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getPrevCollectionName()
    }
    
    
    /**
     * Parse data as either 6-char or 8-char format.
     */
    protected Date parseDate(String dateString) {
        Date ret = null;
    //#AbstractWeblogEntriesPager.java:189: method: Date org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.parseDate(String)
    //#AbstractWeblogEntriesPager.java:189: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date parseDate(String)
    //#    suspicious precondition index: [3]
    //#    Attribs:  Soft
    //#input(Date parseDate(String)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager]
    //#input(Date parseDate(String)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager]
    //#input(Date parseDate(String)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager]
    //#input(Date parseDate(String)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager]
    //#input(Date parseDate(String)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager]
    //#input(Date parseDate(String)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager]
    //#input(Date parseDate(String)): __Descendant_Table[others]
    //#input(Date parseDate(String)): __Dispatch_Table.getToday()Ljava/util/Date;
    //#input(Date parseDate(String)): dateString
    //#input(Date parseDate(String)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager.__Dispatch_Table.getToday()Ljava/util/Date;
    //#input(Date parseDate(String)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager.__Dispatch_Table.getToday()Ljava/util/Date;
    //#input(Date parseDate(String)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager.__Dispatch_Table.getToday()Ljava/util/Date;
    //#input(Date parseDate(String)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager.__Dispatch_Table.getToday()Ljava/util/Date;
    //#input(Date parseDate(String)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager.__Dispatch_Table.getToday()Ljava/util/Date;
    //#input(Date parseDate(String)): this
    //#input(Date parseDate(String)): this.__Tag
    //#input(Date parseDate(String)): this.weblog
    //#output(Date parseDate(String)): return_value
    //#pre[4] (Date parseDate(String)): this.weblog != null
    //#pre[3] (Date parseDate(String)): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/pagers/AbstractWeblogEntriesPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesDayPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesLatestPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesMonthPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPermalinkPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesPreviewPager}
    //#presumption(Date parseDate(String)): java.text.SimpleDateFormat:parse(...)@199 != null
    //#presumption(Date parseDate(String)): java.text.SimpleDateFormat:parse(...)@210 != null
    //#presumption(Date parseDate(String)): org.apache.roller.util.DateUtil:get6charDateFormat(...)@191 != null
    //#presumption(Date parseDate(String)): org.apache.roller.util.DateUtil:get8charDateFormat(...)@190 != null
    //#post(Date parseDate(String)): init'ed(return_value)
    //#unanalyzed(Date parseDate(String)): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getLocaleInstance
    //#unanalyzed(Date parseDate(String)): Effects-of-calling:java.util.Calendar:getInstance
    //#unanalyzed(Date parseDate(String)): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getTimeZoneInstance
    //#unanalyzed(Date parseDate(String)): Effects-of-calling:java.util.Date
    //#unanalyzed(Date parseDate(String)): Effects-of-calling:java.util.Calendar:setTime
    //#unanalyzed(Date parseDate(String)): Effects-of-calling:java.util.Calendar:getTime
    //#test_vector(Date parseDate(String)): dateString: Addr_Set{null}, Inverse{null}
    //#test_vector(Date parseDate(String)): java.lang.String:length(...)@194: {0..7, 9..4_294_967_295}, {8}
    //#test_vector(Date parseDate(String)): java.lang.String:length(...)@205: {0..5, 7..4_294_967_295}, {6}
    //#test_vector(Date parseDate(String)): java.util.Date:after(...)@203: {0}, {1}
    //#test_vector(Date parseDate(String)): java.util.Date:after(...)@214: {0}, {1}
    //#test_vector(Date parseDate(String)): org.apache.commons.lang.StringUtils:isNumeric(...)@194: {0}, {1}
    //#test_vector(Date parseDate(String)): org.apache.commons.lang.StringUtils:isNumeric(...)@205: {0}, {1}
        SimpleDateFormat char8DateFormat = DateUtil.get8charDateFormat();
    //#AbstractWeblogEntriesPager.java:190: Warning: method not available
    //#    -- call on SimpleDateFormat org.apache.roller.util.DateUtil:get8charDateFormat()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date parseDate(String)
    //#    unanalyzed callee: SimpleDateFormat org.apache.roller.util.DateUtil:get8charDateFormat()
        SimpleDateFormat char6DateFormat = DateUtil.get6charDateFormat();
    //#AbstractWeblogEntriesPager.java:191: Warning: method not available
    //#    -- call on SimpleDateFormat org.apache.roller.util.DateUtil:get6charDateFormat()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date parseDate(String)
    //#    unanalyzed callee: SimpleDateFormat org.apache.roller.util.DateUtil:get6charDateFormat()
        Calendar cal = Calendar.getInstance(
    //#AbstractWeblogEntriesPager.java:192: Warning: method not available
    //#    -- call on TimeZone org.apache.roller.weblogger.pojos.Weblog:getTimeZoneInstance()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date parseDate(String)
    //#    unanalyzed callee: TimeZone org.apache.roller.weblogger.pojos.Weblog:getTimeZoneInstance()
    //#AbstractWeblogEntriesPager.java:192: Warning: method not available
    //#    -- call on Locale org.apache.roller.weblogger.pojos.Weblog:getLocaleInstance()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date parseDate(String)
    //#    unanalyzed callee: Locale org.apache.roller.weblogger.pojos.Weblog:getLocaleInstance()
                weblog.getTimeZoneInstance(), weblog.getLocaleInstance());
        if (   dateString!=null
    //#AbstractWeblogEntriesPager.java:194: Warning: method not available
    //#    -- call on bool org.apache.commons.lang.StringUtils:isNumeric(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date parseDate(String)
    //#    unanalyzed callee: bool org.apache.commons.lang.StringUtils:isNumeric(String)
                && dateString.length()==8
                && StringUtils.isNumeric(dateString) ) {
        	char8DateFormat.setCalendar(cal);
            ParsePosition pos = new ParsePosition(0);
            ret = char8DateFormat.parse( dateString, pos );
            
            // make sure the requested date is not in the future
            Date today = getToday();
            if (ret.after(today)) ret = today;
        }
        if (   dateString!=null
    //#AbstractWeblogEntriesPager.java:205: Warning: method not available
    //#    -- call on bool org.apache.commons.lang.StringUtils:isNumeric(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date parseDate(String)
    //#    unanalyzed callee: bool org.apache.commons.lang.StringUtils:isNumeric(String)
                && dateString.length()==6
                && StringUtils.isNumeric(dateString) ) {
        	char6DateFormat.setCalendar(cal);
            ParsePosition pos = new ParsePosition(0);
            ret = char6DateFormat.parse( dateString, pos );
            
            // make sure the requested date is not in the future
            Date today = getToday();
            if (ret.after(today)) ret = today;
        }
        return ret;
    //#AbstractWeblogEntriesPager.java:216: end of method: Date org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.parseDate(String)
    }
    
    
    /**
     * Return today based on current blog's timezone/locale.
     */
    protected Date getToday() {
        Calendar todayCal = Calendar.getInstance();
    //#AbstractWeblogEntriesPager.java:224: method: Date org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getToday()
    //#AbstractWeblogEntriesPager.java:224: Warning: unused assignment
    //#    unused assignment into todayCal
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date getToday()
    //#input(Date getToday()): this
    //#input(Date getToday()): this.weblog
    //#output(Date getToday()): return_value
    //#pre[2] (Date getToday()): this.weblog != null
    //#presumption(Date getToday()): java.util.Calendar:getInstance(...)@225 != null
    //#post(Date getToday()): init'ed(return_value)
        todayCal = Calendar.getInstance(
    //#AbstractWeblogEntriesPager.java:225: Warning: method not available
    //#    -- call on TimeZone org.apache.roller.weblogger.pojos.Weblog:getTimeZoneInstance()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date getToday()
    //#    unanalyzed callee: TimeZone org.apache.roller.weblogger.pojos.Weblog:getTimeZoneInstance()
    //#AbstractWeblogEntriesPager.java:225: Warning: method not available
    //#    -- call on Locale org.apache.roller.weblogger.pojos.Weblog:getLocaleInstance()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: Date getToday()
    //#    unanalyzed callee: Locale org.apache.roller.weblogger.pojos.Weblog:getLocaleInstance()
                weblog.getTimeZoneInstance(), weblog.getLocaleInstance());
        todayCal.setTime(new Date());
        return todayCal.getTime();
    //#AbstractWeblogEntriesPager.java:228: end of method: Date org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.getToday()
    }
    
    
    /**
     * Create URL that encodes pager state using most appropriate forms of URL.
     * @param pageAdd To be added to page number, or 0 for no page number
     */
    protected String createURL(
            int                page,
            int                pageAdd,
            Weblog        website,
            String             locale,
            String             pageLink,
            String             entryAnchor,
            String             dateString,
            String             catPath,
            List               tags) {
        
        int pageNum = page + pageAdd;
    //#AbstractWeblogEntriesPager.java:247: method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.createURL(int, int, Weblog, String, String, String, String, String, List)
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): catPath
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): dateString
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): entryAnchor
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): locale
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): page
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): pageAdd
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): pageLink
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): tags
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): this
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): this.urlStrategy
    //#input(String createURL(int, int, Weblog, String, String, String, String, String, List)): website
    //#output(String createURL(int, int, Weblog, String, String, String, String, String, List)): return_value
    //#pre[9] (String createURL(int, int, Weblog, String, String, String, String, String, List)): page + pageAdd in -2_147_483_648..4_294_967_295
    //#pre[15] (String createURL(int, int, Weblog, String, String, String, String, String, List)): this.urlStrategy != null
    //#post(String createURL(int, int, Weblog, String, String, String, String, String, List)): init'ed(return_value)
    //#test_vector(String createURL(int, int, Weblog, String, String, String, String, String, List)): entryAnchor: Addr_Set{null}, Inverse{null}
    //#test_vector(String createURL(int, int, Weblog, String, String, String, String, String, List)): pageLink: Addr_Set{null}, Inverse{null}
        
        if (pageLink != null) {
            return urlStrategy.getWeblogPageURL(website, locale, pageLink, entryAnchor, catPath, dateString, tags, pageNum, false);
    //#AbstractWeblogEntriesPager.java:250: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.business.URLStrategy:getWeblogPageURL(Weblog, String, String, String, String, String, List, int, bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: String createURL(int, int, Weblog, String, String, String, String, String, List)
    //#    unanalyzed callee: String org.apache.roller.weblogger.business.URLStrategy:getWeblogPageURL(Weblog, String, String, String, String, String, List, int, bool)
        } else if (entryAnchor != null) {
            return urlStrategy.getWeblogEntryURL(website, locale, entryAnchor, true);
    //#AbstractWeblogEntriesPager.java:252: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.business.URLStrategy:getWeblogEntryURL(Weblog, String, String, bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: String createURL(int, int, Weblog, String, String, String, String, String, List)
    //#    unanalyzed callee: String org.apache.roller.weblogger.business.URLStrategy:getWeblogEntryURL(Weblog, String, String, bool)
        }
        
        return urlStrategy.getWeblogCollectionURL(website, locale, catPath, dateString, tags, pageNum, false);
    //#AbstractWeblogEntriesPager.java:255: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.business.URLStrategy:getWeblogCollectionURL(Weblog, String, String, String, List, int, bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
    //#    method: String createURL(int, int, Weblog, String, String, String, String, String, List)
    //#    unanalyzed callee: String org.apache.roller.weblogger.business.URLStrategy:getWeblogCollectionURL(Weblog, String, String, String, List, int, bool)
    //#AbstractWeblogEntriesPager.java:255: end of method: String org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager.createURL(int, int, Weblog, String, String, String, String, String, List)
    }
    
}
    //#AbstractWeblogEntriesPager.java:: end of class: org.apache.roller.weblogger.ui.rendering.pagers.AbstractWeblogEntriesPager
