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 }