/*
* 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.xml;
import com.webobjects.appserver.WOContext;
import com.webobjects.directtoweb.D2WDisplayString;
import com.webobjects.foundation.NSArray;
/**
* xml display component for to many relationships
*
* @d2wKey propertyKey
*/
public class ERD2WXMLDisplayToMany extends D2WDisplayString {
/**
* 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 ERD2WXMLDisplayToMany(WOContext context) { super(context); }
public String value(){
String result = "";
Object value = object().valueForKeyPath((String)d2wContext().valueForKey("propertyKey"));
if(value instanceof NSArray){
if(((NSArray)value).count()>1)
result = ((NSArray)value).componentsJoinedByString("
");
else if (((NSArray)value).count()==1)
result = ((NSArray)value).objectAtIndex(0).toString();
else
result = null;
}
else if (value != null)
result = value.toString();
return result;
}
}