/* * WOBatchNavigationBar.java * (c) Copyright 2001 Apple Computer, Inc. All rights reserved. * This a modified version. * Original license: http://www.opensource.apple.com/apsl/ */ package com.webobjects.woextensions; import com.webobjects.appserver.WOComponent; import com.webobjects.appserver.WOContext; import com.webobjects.appserver.WODisplayGroup; public class WOBatchNavigationBar extends WOComponent { /** * Do I need to update serialVersionUID? * See section 5.6 <cite>Type Changes Affecting Serialization</cite> on page 51 of the * <a href="http://java.sun.com/j2se/1.4/pdf/serial-spec.pdf">Java Object Serialization Spec</a> */ private static final long serialVersionUID = 1L; public WOBatchNavigationBar(WOContext aContext) { super(aContext); } @Override public boolean isStateless() { return true; } public boolean hasObjectName() { return hasBinding("objectName"); } public boolean hasSortKeyList() { return hasBinding("sortKeyList"); } public int numberOfObjectsPerBatch() { return ((WODisplayGroup)valueForBinding("displayGroup")).numberOfObjectsPerBatch(); } public void setNumberOfObjectsPerBatch(Integer number) { int _number; //If a negative number is provided we default the number //of objects per batch to 0. _number = ((number != null) && (number.intValue() > 0)) ? number.intValue() : 0; ((WODisplayGroup)valueForBinding("displayGroup")).setNumberOfObjectsPerBatch(_number); } public int batchIndex() { return ((WODisplayGroup)valueForBinding("displayGroup")).currentBatchIndex(); } public void setBatchIndex(Integer index) { int _batchIndex; //Treat a null index as a 0 index. Negative numbers are handled //by the display group. _batchIndex = (index != null) ? index.intValue() : 0; ((WODisplayGroup)valueForBinding("displayGroup")).setCurrentBatchIndex(_batchIndex); } protected String _singularName() { String name = (String) valueForBinding("objectName"); if (name == null || name.length() == 0) { name = "item"; } return name; } protected String _pluralName() { String name = (String) valueForBinding("pluralName"); if (name == null || name.length() == 0) { name = _singularName() + "s"; } return name; } public String entityLabel() { WODisplayGroup dg = (WODisplayGroup)valueForBinding("displayGroup"); if (dg.allObjects().count() == 1) { return _singularName(); } else { return _pluralName(); } } }