/*
* 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.directtoweb.components.relationships;
import com.webobjects.appserver.WOContext;
import com.webobjects.directtoweb.D2WDisplayToOne;
import er.extensions.foundation.ERXValueUtilities;
import er.extensions.localization.ERXLocalizer;
/**
* Same as original except allows display of noSelectionString if relationship is null.
* Also, links are disabled if no object exists.
*
* @d2wKey noSelectionString
* @d2wKey disabled
*/
public class ERD2WDisplayToOne extends D2WDisplayToOne {
/**
* 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 ERD2WDisplayToOne(WOContext context) { super(context); }
@Override
public Object toOneDescription() {
Object description = super.toOneDescription();
return description != null ? description : ERXLocalizer.currentLocalizer().localizedStringForKeyWithDefault((String) d2wContext().valueForKey("noSelectionString"));
}
public boolean isDisabled() {
return objectPropertyValue() == null || ERXValueUtilities.booleanValueWithDefault(d2wContext().valueForKey("disabled"), false);
}
}