@Override public void close() { if (closed) { return; } closed = true; if (needPop) { pageContext.popWriter(); } pageContext.popTopTag(); try { if (isTryCatchFinally) { ((TryCatchFinally) tag).doFinally(); } // No pooling yet tag.release(); } finally { if (needDoublePop) { pageContext.popWriter(); } } }
/** * Calls the release() method of all available tag handlers in this tag * handler pool. */ public synchronized void release() { for (int i=current; i>=0; i--) { handlers[i].release(); } }
/** * Delegates to wrapped tag. */ public void release() { tag.release(); }
/** * Delegates to wrapped tag. */ public void release() { tag.release(); }
/** * Delegates to wrapped tag. */ public void release() { tag.release(); }
/** * Calls the <code>release</code> method of the current tag. * @throws <code>RuntimeException</code>, if the tag * is a simple tag */ public void release() { /*if(isSimpleTag()) { throw new RuntimeException("Cannot call release() on simple tags"); }*/ ((Tag)tag).release(); }
/** * Calls the <code>release</code> method of the current tag. * @throws <code>RuntimeException</code>, if the tag * is a simple tag */ public void release() { /*if(isSimpleTag()) { throw new RuntimeException("Cannot call release() on simple tags"); }*/ ((Tag)tag).release(); }
/** * Adds the given tag handler to this tag handler pool, unless this tag * handler pool has already reached its capacity, in which case the tag * handler's release() method is called. * * @param handler Tag handler to add to this tag handler pool */ public void reuse(Tag handler) { PerThreadData ptd=(PerThreadData)perThread.get(); if (ptd.current < (ptd.handlers.length - 1)) { ptd.handlers[++ptd.current] = handler; } else { handler.release(); } }
/** * Adds the given tag handler to this tag handler pool, unless this tag * handler pool has already reached its capacity, in which case the tag * handler's release() method is called. * * @param handler Tag handler to add to this tag handler pool */ public void reuse(Tag handler) { PerThreadData ptd=(PerThreadData)perThread.get(); if (ptd.current < (ptd.handlers.length - 1)) { ptd.handlers[++ptd.current] = handler; } else { handler.release(); } }
/** * Calls the release() method of all available tag handlers in this tag * handler pool. */ public synchronized void release() { for (int i=current; i>=0; i--) { handlers[i].release(); if (resourceInjector != null) { resourceInjector.preDestroy(handlers[i]); } } }
/** * Calls the release() method of all available tag handlers in this tag * handler pool. */ public synchronized void release() { for (int i = current; i >= 0; i--) { handlers[i].release(); if (resourceInjector != null) { resourceInjector.preDestroy(handlers[i]); } } }
/** * Calls the release() method of all available tag handlers in this tag * handler pool. */ public synchronized void release() { for (int i=current; i>=0; i--) { if (handlers[i] instanceof Tag) { ((Tag)handlers[i]).release(); } if (resourceInjector != null) { resourceInjector.preDestroy(handlers[i]); } } }
/** * Calls the <code>release</code> method of the current tag. * @throws <code>RuntimeException</code>, if the tag * is a simple tag */ public void release() { if(isSimpleTag()) { throw new RuntimeException("Cannot call release() on simple tags"); } ((Tag)tag).release(); }
/** * Calls the release() method of all available tag handlers in this tag * handler pool. */ public synchronized void release() { for (int i=current; i>=0; i--) { if (handlers[i] instanceof Tag) { ((Tag)handlers[i]).release(); } if (resourceInjector != null) { resourceInjector.preDestroy(handlers[i]); } } }
/** * Calls the release() method of all available tag handlers in this tag * handler pool. */ public synchronized void release() { for (int i=current; i>=0; i--) { if (handlers[i] instanceof Tag) { ((Tag)handlers[i]).release(); } if (resourceInjector != null) { resourceInjector.preDestroy(handlers[i]); } } }
/** * Calls the release() method of all available tag handlers in this tag * handler pool. */ public synchronized void release() { for (int i=current; i>=0; i--) { if (handlers[i] instanceof Tag) { ((Tag)handlers[i]).release(); } if (resourceInjector != null) { resourceInjector.preDestroy(handlers[i]); } } }
/** * Calls the release() method of all available tag handlers in this tag * handler pool. */ public synchronized void release() { for (int i=current; i>=0; i--) { if (handlers[i] instanceof Tag) { ((Tag)handlers[i]).release(); } if (resourceInjector != null) { resourceInjector.preDestroy(handlers[i]); } } }
/** * Calls the release() method of all available tag handlers in this tag * handler pool. */ public synchronized void release() { for (int i = current; i >= 0; i--) { handlers[i].release(); try { instanceManager.destroyInstance(handlers[i]); } catch (Exception e) { log.warn("Error processing preDestroy on tag instance of " + handlers[i].getClass().getName(), e); } } }
public void process(final PageContext pageContext, final Tag parentTag) throws JspException { final Tag tag = (Tag) ClassUtil.newInstance(tagClass); try { process(pageContext, tag, parentTag); } finally { tag.release(); } }
protected void releaseLoadedTag() { Tag tag = (Tag) CycleUtil.getLocalVariable(LOADED_TAG_KEY, this, null); CycleUtil.setLocalVariable(LOADED_TAG_KEY, this, null); tag.release(); getTagPool().returnTag(tag); }