Clover coverage report - Coverage timestamp: do jan 22 2004 21:12:32 CET FRAMES NO FRAMES |
file stats: | LOC: | 61 |  | Methods: | 2
| NCLOC: | 17 |  | Classes: | 1
Source file | Conditionals | Statements | Methods | TOTAL
UseCachedTag.java | 0% | 0% | 0% | 0% |

1 |  |
     /*
2 |  |
      * Copyright (c) 2002-2003 by OpenSymphony
3 |  |
      * All rights reserved.
4 |  |
      */
5 |  |
     package com.opensymphony.oscache.web.tag;
6 |  |
7 |  |
     import javax.servlet.jsp.JspTagException;
8 |  |
     import javax.servlet.jsp.tagext.TagSupport;
9 |  |
10 |  |
     /**
11 |  |
      * UseCachedTag is a tag that tells a &lt;cache&gt; tag to reuse the cached body.<p>
12 |  |
      *
13 |  |
      * Usage Example:
14 |  |
      * <pre><code>
15 |  |
      *       &lt;%@ taglib uri="oscache" prefix="cache" %&gt;
16 |  |
      *       &lt;cache:cache key="mycache" scope="application"&gt;
17 |  |
      *                if (reuse cached)
18 |  |
      *                        &lt;cache:usecached /&gt;
19 |  |
      *                else
20 |  |
      *                        some other logic
21 |  |
      *       &lt;/cache:cache&gt;
22 |  |
      * </code></pre>
23 |  |
      *
24 |  |
      * Note this is very useful with try / catch blocks
25 |  |
      * so that you can still produce old cached data if an
26 |  |
      * exception occurs, eg your database goes down.<p>
27 |  |
      *
28 |  |
      * @author        <a href="mailto:mike@atlassian.com">Mike Cannon-Brookes</a>
29 |  |
      * @version        $Revision: 1.1 $
30 |  |
      */
31 |  |
     public class UseCachedTag extends TagSupport {
32 |  |
         boolean use = true;
33 |  |
34 |  |
         /**
35 |  |
          * Set the decision to use the body content of the ancestor &lt;cache&gt; or not.
36 |  |
          *
37 |  |
          * @param value Whether or not to use the body content. Default is true.
38 |  |
          */
39 | 0 |
         public void setUse(boolean value) {
40 | 0 |
             this.use = value;
41 |  |
         }
42 |  |
43 |  |
         /**
44 |  |
          * The start tag.
45 |  |
          *
46 |  |
          * @throws JspTagException The standard tag exception thrown.
47 |  |
          * @return The standard Tag return.
48 |  |
          */
49 | 0 |
         public int doStartTag() throws JspTagException {
50 | 0 |
             CacheTag cacheTag = (CacheTag) TagSupport.findAncestorWithClass(this, CacheTag.class);
51 |  |
52 | 0 |
             if (cacheTag == null) {
53 | 0 |
                 throw new JspTagException("A UseCached tag must be nested within a Cache tag");
54 |  |
             }
55 |  |
56 | 0 |
             cacheTag.setUseBody(!use);
57 |  |
58 | 0 |
             return SKIP_BODY;
59 |  |
         }
60 |  |
     }
61 |  |