1 package org.starobjects.restful.viewer.resources.objects.actions; 2 3 import java.text.MessageFormat; 4 5 import nu.xom.Element; 6 7 import org.nakedobjects.metamodel.adapter.NakedObject; 8 import org.nakedobjects.metamodel.authentication.AuthenticationSession; 9 import org.nakedobjects.metamodel.spec.NakedObjectSpecification; 10 import org.nakedobjects.metamodel.spec.feature.NakedObjectAction; 11 import org.starobjects.restful.viewer.html.HtmlClass; 12 import org.starobjects.restful.viewer.resources.objects.TableColumnNakedObjectMemberName; 13 import org.starobjects.restful.viewer.xom.ResourceContext; 14 15 16 public class TableColumnNakedObjectActionName extends TableColumnNakedObjectMemberName<NakedObjectAction> { 17 18 public TableColumnNakedObjectActionName( 19 final NakedObjectSpecification noSpec, 20 final AuthenticationSession session, 21 final NakedObject nakedObject, 22 final ResourceContext resourceContext) { 23 super(noSpec, session, nakedObject, resourceContext); 24 } 25 26 @Override 27 public Element doTd(final NakedObjectAction nakedObjectAction) { 28 final String actionId = nakedObjectAction.getIdentifier().toNameParmsIdentityString(); 29 final String memberType = "action"; 30 final String uri = MessageFormat.format("{0}/specs/{1}/{2}/{3}", getContextPath(), getNoSpec().getFullName(), memberType, actionId); 31 return new Element(xhtmlRenderer.aHref(uri, nakedObjectAction.getName(), "actionSpec", memberType, HtmlClass.ACTION)); 32 } 33 34 }