/* * Copyright (C) NetStruxr, Inc. All rights reserved. * * This software is published under the terms of the NetStruxr * Public Software License version 0.5, a copy of which has been * included with this distribution in the LICENSE.NPL file. */ package er.extensions.components; import com.webobjects.appserver.WOContext; import er.extensions.localization.ERXLocalizer; /** * Given a count and a string pluralizes the string if count > 1. * * @binding value the object name to plurify * @binding count the number of objects * @binding showNumber */ public class ERXPluralString extends ERXStatelessComponent { /** * 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 ERXPluralString(WOContext aContext) { super(aContext); } public String value() { Number c=(Number)valueForBinding("count"); String value = (String)valueForBinding("value"); return localizer().plurifiedString(value, c!=null ? c.intValue() : 0); } @Override public ERXLocalizer localizer() { ERXLocalizer l=(ERXLocalizer)valueForBinding("localizer"); return l!=null ? l : ERXLocalizer.currentLocalizer(); } public boolean showNumber() { return booleanValueForBinding("showNumber", true); } }