-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathindex.html
167 lines (139 loc) · 7.15 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
(c) 2005, 2009, 2010 ThoughtWorks Ltd. All rights reserved.
(c) 2015 ProxyToys Committers. All rights reserved.
The software in this package is published under the terms of the BSD
style license a copy of which has been included with this distribution in
the LICENSE.txt file.
Created on 07-May-2005
-->
<head>
<title>ProxyToys - About ProxyToys</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
<meta name="short" content="About ProxyToys">
</head>
<body>
<div id="banner">
<a href="index.html"><img id="logo" src="logo.gif" alt="ProxyToys Logo"/></a>
<div id="title">About ProxyToys</div>
</div>
<div id="center" class="Content3Column">
<div id="content">
<h1 id="Motivation" class="FirstChild">Motivation</h1>
<p>Have you ever developed code that uses java.lang.reflect.Proxy and thought:<br>
<br>
<cite>"That CGLIB library sure is cool. I wish I could leverage both standard proxies and
CGLIB proxies without changing my code".</cite><br>
<br>
With ProxyToys you can! ProxyToys is to proxy generation what Jakarta Commons Logging is to logging
- an thin implementation neutral API for Proxy creation. Whether to use standard proxies or CGLIB is a
one-line code change.
</p>
<h1 id="Features">Features</h1>
<p>API Compatible proxy factory providers:</p>
<ul>
<li>Standard proxies of the JDK</li>
<li>CGLIB implementation</li>
</ul>
<p>ProxyToys provides a collection of toys acting as factories for creating "special" proxies such as:</p>
<ul>
<li>Decorators - for simple AOP-like chained method interception</li>
<li>Delegates - for method invocation on a delegate object, that might have different type</li>
<li>Dispatcher proxy - single proxy instance dispatching method calls to different object with separate types</li>
<li>Echo proxy - for tracing method calls</li>
<li>Failover objects - fails over to a next object in case of exception</li>
<li>Future objects - execute method calls asynchronously</li>
<li>Hot swapping proxy - allows implementation hiding that can be swapped, and mutual dependencies</li>
<li>Multicasting objects - for multicasting a method invocation to multiple objects</li>
<li>Null objects - for default implementations of classes that do nothing at all</li>
<li>Pool - for a pool implementation with proxied objects that return automatically to the pool</li>
<li>Privilege - execute method calls as privileged actions in a controlled environment</li>
</ul>
<h1 id="Dependencies">Dependencies</h1>
<p>ProxyToys is a compact library. If you choose not to use the CGLIB features it requires
no additional libraries.</p>
<h1 id="Limitations">Known Limitations</h1>
<p>ProxyToys is bound to the limitations of the underlying Proxy implementation.</p>
<h1 id="Getting_started">Getting Started</h1>
<ul>
<li><a href="download.html">Download it</a>.</li>
<li><a href="tutorial.html">Use it</a>.</li>
</ul>
<br/><br/>
</div>
</div>
<div class="SidePanel" id="left">
<div class="MenuGroup">
<h1>ProxyToxy in General</h1>
<ul>
<li class="currentLink">About ProxyToys</li>
<li><a href="news.html">News</a></li>
<li><a href="changes.html">Change History</a></li>
<li><a href="license.html">License</a></li>
<li><a href="download.html">Download</a></li>
<li><a href="versioning.html">About Versioning</a></li>
</ul>
</div>
<div class="MenuGroup">
<h1>Using ProxyToys</h1>
<ul>
<li><a href="tutorial.html">One minute Tutorial</a></li>
<li><a href="factories.html">Proxy Factories</a></li>
<li><a href="toys.html">Toys</a></li>
<li><a href="faq.html">Frequently Asked Questions</a></li>
<li><a href="example-code.html">Example Code</a></li>
<li><a href="mailing-lists.html">Mailing Lists</a></li>
<li><a href="apidocs/index.html">Javadoc</a></li>
<li><a href="issues.html">Reporting Issues</a></li>
</ul>
</div>
<div class="MenuGroup">
<h1>Developing ProxyToys</h1>
<ul>
<li><a href="architecture.html">Architecture Overview</a></li>
<li><a href="how-to-contribute.html">How to Contribute</a></li>
<li><a href="team.html">Development Team</a></li>
<li><a href="repository.html">Source Repository</a></li>
<li><a href="https://github.com/proxytoys/proxytoys">GitHub Project</a></li>
<li><a href="http://ci.codehaus.org/browse/PROXYTOYS">Build Status</a></li>
<li><a href="https://www.openhub.net/p/10075">Code Statistics</a></li>
</ul>
</div>
</div>
<div class="SidePanel" id="right">
<div class="NewsGroup">
<h1>Latest Versions</h1>
<div class="NewsItem">
<p>Stable:<span class="NewsVersion"><a href="download.html#stable">1.0</a></span></p>
</div>
<!--
<div class="NewsItem">
<p>Development:<span class="NewsVersion"><a href="download.html#snapshot">1.1-SNAPSHOT</a></span></p>
</div>
-->
</div>
<div class="NewsGroup">
<h1>News</h1>
<div class="NewsItem">
<p>Apr 23, 2015<br/><a href="news.html#20150423">ProxyToys moved to GitHub.</a></p>
</div>
<div class="NewsItem">
<p>May 13, 2010<br/><a href="news.html#20100513">ProxyToys 1.0 released</a></p>
</div>
<div class="NewsItem">
<p>Jun 29, 2009<br/><a href="news.html#20090629">Welcome Paul Hammant as new committer</a></p>
</div>
<div class="NewsItem">
<p>Sep 28, 2005<br/><a href="news.html#20050928">ProxyToys uses continuous integration platform</a></p>
</div>
<div class="NewsItem">
<p>Sep 5, 2005<br/><a href="news.html#20050905">ProxyToys 0.2.1 released</a></p>
</div>
<div class="NewsItem">
<p>Sep 4, 2005<br/><a href="news.html#20050904">ProxyToys 0.2 released</a></p>
</div>
</div>
</div>
</body>
</html>