diff options
Diffstat (limited to 'branch-master/condition-api.html')
-rw-r--r-- | branch-master/condition-api.html | 257 |
1 files changed, 257 insertions, 0 deletions
diff --git a/branch-master/condition-api.html b/branch-master/condition-api.html new file mode 100644 index 00000000..774e0b12 --- /dev/null +++ b/branch-master/condition-api.html @@ -0,0 +1,257 @@ +<html> + <head> + <title>condition - clojure-contrib next API documentation</title> + <link href="../static/favicon.png" rel="icon" /> + <link href="../static/favicon.png" rel="shortcut icon" /> + <link media="all" type="text/css" href="../static/clojure.css" rel="stylesheet" /> + <link media="all" type="text/css" href="../static/wiki.css" rel="stylesheet" /> + <link media="all" type="text/css" href="../static/internal.css" rel="stylesheet" /> + <!-- TODO: are we using these (from clojure.org)? If so, add the files --> + <script src="file/view/code_highlighter.js" type="text/javascript"></script> + <script src="file/view/clojure.js" type="text/javascript"></script> + <style>.menuWrapper{height: 36px;}</style> + <!--[if lte IE 6]> + <link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" /> + <![endif]--> + </head> +<!-- +This document was auto-generated from the source by the clojure autodoc system. +To report errors or ask questions about the overall documentation structure, formatting, +etc., contact Tom Faulhaber (google mail name: tomfaulhaber). +For errors in the documentation of a particular namespace, contact the author of that +namespace. +--> + <body> + <div id="AllContentContainer"> + <div id="Header"> + <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../static/clojure-icon.gif" /></a> + <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1> + </div> + <div id="leftcolumn"><div style="text-align: center;"></div> +<div class="menu"> + <div class="WikiCustomNav WikiElement wiki"> + <span class="toc-header"><span id="project-name">clojure-contrib</span> <span id="version">next</span> API</span><br /> + <ul> + <li><a class="wiki_link" href="index.html">Overview</a></li> + <li><a class="wiki_link" href="api-index.html">API Index</a></li> + </ul> + <span class="toc-header">Namespaces</span> + <ul id="left-sidebar-list"> + <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="io-api.html" class="wiki_link">io</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json-api.html" class="wiki_link">json</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="priority-map-api.html" class="wiki_link">priority-map</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="properties-api.html" class="wiki_link">properties</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="reflect-api.html" class="wiki_link">reflect</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-api.html" class="wiki_link">seq</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-api.html" class="wiki_link">shell</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="string-api.html" class="wiki_link">string</a></li><li><a href="strint-api.html" class="wiki_link">strint</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-complex-numbers-api.html" class="wiki_link">test-complex-numbers</a></li><li><a href="test-core-api.html" class="wiki_link">test-core</a></li><li><a href="test-dataflow-api.html" class="wiki_link">test-dataflow</a></li><li><a href="test-def-api.html" class="wiki_link">test-def</a></li><li><a href="test-fnmap-api.html" class="wiki_link">test-fnmap</a></li><li><a href="test-graph-api.html" class="wiki_link">test-graph</a></li><li><a href="test-greatest-least-api.html" class="wiki_link">test-greatest-least</a></li><li><a href="test-io-api.html" class="wiki_link">test-io</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="test-jmx-api.html" class="wiki_link">test-jmx</a></li><li><a href="test-json-api.html" class="wiki_link">test-json</a></li><li><a href="test-lazy-seqs-api.html" class="wiki_link">test-lazy-seqs</a></li><li><a href="test-logging-api.html" class="wiki_link">test-logging</a></li><li><a href="test-macro-utils-api.html" class="wiki_link">test-macro-utils</a></li><li><a href="test-math-api.html" class="wiki_link">test-math</a></li><li><a href="test-miglayout-api.html" class="wiki_link">test-miglayout</a></li><li><a href="test-mock-api.html" class="wiki_link">test-mock</a></li><li><a href="test-monads-api.html" class="wiki_link">test-monads</a></li><li><a href="test-profile-api.html" class="wiki_link">test-profile</a></li><li><a href="test-properties-api.html" class="wiki_link">test-properties</a></li><li><a href="test-prxml-api.html" class="wiki_link">test-prxml</a></li><li><a href="test-repl-utils-api.html" class="wiki_link">test-repl-utils</a></li><li><a href="test-seq-api.html" class="wiki_link">test-seq</a></li><li><a href="test-shell-api.html" class="wiki_link">test-shell</a></li><li><a href="test-sql-api.html" class="wiki_link">test-sql</a></li><li><a href="test-string-api.html" class="wiki_link">test-string</a></li><li><a href="test-strint-api.html" class="wiki_link">test-strint</a></li><li><a href="test-trace-api.html" class="wiki_link">test-trace</a></li><li><a href="test-with-ns-api.html" class="wiki_link">test-with-ns</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> + </ul> + <div class="BranchTOC"> + <span class="toc-header">Other Versions</span> + <ul id="left-sidebar-branch-list"> + <li><a href="../index.html" class="wiki_link">v1.2 (beta 1)</a></li><li><a href="../branch-1.1.x/index.html" class="wiki_link">v1.1 (stable)</a></li> + </ul> + </div> + <a href="http://clojure.org" class="wiki_link">Clojure Home</a> + </div> +</div> +</div> + <div id="rightcolumn"> + <div id="Content"> + <div class="contentBox"><div class="innerContentBox"> + <div id="content_view" class="wiki wikiPage"> + <div id="right-sidebar"><div id="toc"> + <h1 class="nopad">Table of Contents</h1> + <div style="margin-left: 1em;" class="toc-section"> + <a href="#toc0">Overview</a> + <div style="margin-left: 1em;" class="toc-entry"> + <a href="#clojure.contrib.condition/*full-stack-traces*">*full-stack-traces*</a> + </div><div style="margin-left: 1em;" class="toc-entry"> + <a href="#clojure.contrib.condition/handler-case">handler-case</a> + </div><div style="margin-left: 1em;" class="toc-entry"> + <a href="#clojure.contrib.condition/print-stack-trace">print-stack-trace</a> + </div><div style="margin-left: 1em;" class="toc-entry"> + <a href="#clojure.contrib.condition/raise">raise</a> + </div><div style="margin-left: 1em;" class="toc-entry"> + <a href="#clojure.contrib.condition/stack-trace-info">stack-trace-info</a> + </div> + <br /> + </div><div style="margin-left: 1em;" class="toc-section"> + <a href="#condition.Condition">condition.Condition</a> + <div style="margin-left: 1em;" class="toc-entry"> + <a href="#clojure.contrib.condition.Condition/-init">-init</a> + </div><div style="margin-left: 1em;" class="toc-entry"> + <a href="#clojure.contrib.condition.Condition/-meta">-meta</a> + </div><div style="margin-left: 1em;" class="toc-entry"> + <a href="#clojure.contrib.condition.Condition/-post-init">-post-init</a> + </div> + <br /> + </div> +</div> +</div> + <div id="content-tag"><h1 id="overview">API for <span id="namespace-name">condition</span> + - <span id="header-project">clojure-contrib</span> <span id="header-version">next</span> (<span id="header-status">in development</span>) + </h1> +<span id="author-line">by <span id="author-name">Stephen C. Gilardi</span><br /></span> +<br />Usage: +<pre> +(ns your-namespace + (:require <span id="long-name">clojure.contrib.condition</span>)) +</pre><pre> +</pre><h2>Overview</h2> +<pre id="namespace-docstr">Flexible raising and handling of conditions: + +Functions: + + raise: raises a condition + handler-case: dispatches raised conditions to appropriate handlers + print-stack-trace: prints abbreviated or full condition stack traces + +Data: + + A condition is a map containing values for these keys: + + - :type, a condition type specifier, typically a keyword + - :stack-trace, a stack trace to the site of the raise + - :message, a human-readable message (optional) + - :cause, a wrapped exception or condition (optional) + - other keys given as arguments to raise (optional) + +Note: requires AOT compilation. + +Based on an idea from Chouser: +<a href="http://groups.google.com/group/clojure/browse_frm/thread/da1285c538f22bb5">http://groups.google.com/group/clojure/browse_frm/thread/da1285c538f22bb5</a></pre> + + +<br /> +<h2>Public Variables and Functions</h2> +<div id="var-entry"> + <br /> + <hr /> + <h2 id="clojure.contrib.condition/*full-stack-traces*">*full-stack-traces*</h2> + <span id="var-type">var</span><br /> + <pre id="var-usage"></pre> + <pre id="var-docstr">Bind to true to include clojure.{core,lang,main} frames in stack +traces</pre> + + + <a href="http://github.com/clojure/clojure-contrib/blob//modules/condition/target/classes/clojure/contrib/condition.clj#L56" id="var-source">Source</a> +</div><div id="var-entry"> + <br /> + <hr /> + <h2 id="clojure.contrib.condition/handler-case">handler-case</h2> + <span id="var-type">macro</span><br /> + <pre id="var-usage">Usage: (handler-case dispatch-fn & body) +</pre> + <pre id="var-docstr">Executes body in a context where raised conditions can be handled. + +dispatch-fn accepts a raised condition (a map) and returns a selector +used to choose a handler. Commonly, dispatch-fn will be :type to dispatch +on the condition's :type value. + +Handlers are forms within body: + + (handle key + ...) + +If a condition is raised, executes the body of the first handler whose +key satisfies (isa? selector key). If no handlers match, re-raises the +condition. + +While a handler is running, *condition* is bound to the condition being +handled and *selector* is bound to to the value returned by dispatch-fn +that matched the handler's key.</pre> + + + <a href="http://github.com/clojure/clojure-contrib/blob//modules/condition/target/classes/clojure/contrib/condition.clj#L71" id="var-source">Source</a> +</div><div id="var-entry"> + <br /> + <hr /> + <h2 id="clojure.contrib.condition/print-stack-trace">print-stack-trace</h2> + <span id="var-type">function</span><br /> + <pre id="var-usage">Usage: (print-stack-trace x) +</pre> + <pre id="var-docstr">Prints a stack trace for a condition or Throwable. Skips frames for +classes in clojure.{core,lang,main} unless the *full-stack-traces* is +bound to logical true</pre> + + + <a href="http://github.com/clojure/clojure-contrib/blob//modules/condition/target/classes/clojure/contrib/condition.clj#L128" id="var-source">Source</a> +</div><div id="var-entry"> + <br /> + <hr /> + <h2 id="clojure.contrib.condition/raise">raise</h2> + <span id="var-type">macro</span><br /> + <pre id="var-usage">Usage: (raise) + (raise m) + (raise key val & keyvals) +</pre> + <pre id="var-docstr">Raises a condition. With no arguments, re-raises the current condition. +With one argument (a map), raises the argument. With two or more +arguments, raises a map with keys and values from the arguments.</pre> + + + <a href="http://github.com/clojure/clojure-contrib/blob//modules/condition/target/classes/clojure/contrib/condition.clj#L60" id="var-source">Source</a> +</div><div id="var-entry"> + <br /> + <hr /> + <h2 id="clojure.contrib.condition/stack-trace-info">stack-trace-info</h2> + <span id="var-type">multimethod</span><br /> + <pre id="var-usage">No usage documentation available</pre> + <pre id="var-docstr">Returns header, stack-trace, and cause info from conditions and +Throwables</pre> + + + <a href="http://github.com/clojure/clojure-contrib/blob/a6a92b9b3d2bfd9a56e1e5e9cfba706d1aeeaae5/modules/condition/src/main/clojure/clojure/contrib/condition.clj#L106" id="var-source">Source</a> +</div> +<h2 id="namespace-name">condition.Condition</h2> +<pre id="namespace-docstr"></pre> + + +<br /> +<div id="var-entry"> + <hr /> + <h2 id="clojure.contrib.condition.Condition/-init">-init</h2> + <span id="var-type">function</span><br /> + <pre id="var-usage">Usage: (-init condition) +</pre> + <pre id="var-docstr">Constructs a Condition object with condition (a map) as its +metadata. Also initializes the superclass with the values at :message +and :cause, if any, so they are also available via .getMessage and +.getCause.</pre> + + + <a href="http://github.com/clojure/clojure-contrib/blob//modules/condition/target/classes/clojure/contrib/condition/Condition.clj#L25" id="var-source">Source</a> +</div><div id="var-entry"> + <hr /> + <h2 id="clojure.contrib.condition.Condition/-meta">-meta</h2> + <span id="var-type">function</span><br /> + <pre id="var-usage">Usage: (-meta this) +</pre> + <pre id="var-docstr">Returns this object's metadata, the condition</pre> + + + <a href="http://github.com/clojure/clojure-contrib/blob//modules/condition/target/classes/clojure/contrib/condition/Condition.clj#L40" id="var-source">Source</a> +</div><div id="var-entry"> + <hr /> + <h2 id="clojure.contrib.condition.Condition/-post-init">-post-init</h2> + <span id="var-type">function</span><br /> + <pre id="var-usage">Usage: (-post-init this condition) +</pre> + <pre id="var-docstr">Adds :stack-trace to the condition. Drops the bottom 3 frames because +they are always the same: implementation details of Condition and raise.</pre> + + + <a href="http://github.com/clojure/clojure-contrib/blob//modules/condition/target/classes/clojure/contrib/condition/Condition.clj#L33" id="var-source">Source</a> +</div> + + +</div> + </div> + </div> + </div> + </div> + <div id="foot"> + <div style="text-align: center;" id="copyright">Copyright 2007-2010 by Rich Hickey and the various contributors</div> + </div> + </div> + <div id="DesignedBy">Logo & site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br /> + Clojure auto-documentation system by Tom Faulhaber.</div> + </div> + <!-- /AllContentContainer --> + </body> + +</html>
\ No newline at end of file |