Author: hlship
Date: Sun Jan 20 15:31:16 2008
New Revision: 613702

URL: http://svn.apache.org/viewvc?rev=613702&view=rev
Log:
TAPESTRY-1639: Components that generate hyperlinks (ActionLink, PageLink, 
EventLink) should have a getLink() method to retrieve the link as generated

Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/base/AbstractLink.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/base/AbstractLink.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/base/AbstractLink.java?rev=613702&r1=613701&r2=613702&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/base/AbstractLink.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/base/AbstractLink.java
 Sun Jan 20 15:31:16 2008
@@ -42,6 +42,8 @@
     @Inject
     private ComponentResources _resources;
 
+    private Link _link;
+
     private final String buildHref(Link link)
     {
         String href = link.toURI();
@@ -51,6 +53,7 @@
         return href + "#" + _anchor;
     }
 
+
     /**
      * Writes an <a> element with the provided link as the href 
attribute.  A call to [EMAIL PROTECTED]
      * org.apache.tapestry.MarkupWriter#end()} is <em>not</em> provided.       
     Automatically appends an anchor if
@@ -70,6 +73,20 @@
         _resources.renderInformalParameters(writer);
 
         _componentInvocationMap.store(e, link);
+
+        _link = link;
+    }
+
+    /**
+     * Returns the most recently rendered [EMAIL PROTECTED] 
org.apache.tapestry.Link} for this component.  Subclasses calculate
+     * their link value as they render, and the value is valid until the end 
of the request, or the next time the same
+     * component renders itself (if inside a loop).
+     *
+     * @return the most recent link, or null
+     */
+    public Link getLink()
+    {
+        return _link;
     }
 
     /**


Reply via email to