Projekt

Obecné

Profil

Stáhnout (53.3 KB) Statistiky
| Větev: | Tag: | Revize:
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
<!-- NewPage -->
3
<html lang="cs">
4
<head>
5
<!-- Generated by javadoc (1.8.0_251) on Sun May 10 17:43:08 CEST 2020 -->
6
<title>jdeserialize</title>
7
<meta name="date" content="2020-05-10">
8
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
9
<script type="text/javascript" src="../script.js"></script>
10
</head>
11
<body>
12
<script type="text/javascript"><!--
13
    try {
14
        if (location.href.indexOf('is-external=true') == -1) {
15
            parent.document.title="jdeserialize";
16
        }
17
    }
18
    catch(err) {
19
    }
20
//-->
21
var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":9,"i5":9,"i6":10,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":9,"i14":9,"i15":9,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":9,"i34":10,"i35":9};
22
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
23
var altColor = "altColor";
24
var rowColor = "rowColor";
25
var tableTab = "tableTab";
26
var activeTableTab = "activeTableTab";
27
</script>
28
<noscript>
29
<div>JavaScript is disabled on your browser.</div>
30
</noscript>
31
<!-- ========= START OF TOP NAVBAR ======= -->
32
<div class="topNav"><a name="navbar.top">
33
<!--   -->
34
</a>
35
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
36
<a name="navbar.top.firstrow">
37
<!--   -->
38
</a>
39
<ul class="navList" title="Navigation">
40
<li><a href="../overview-summary.html">Overview</a></li>
41
<li><a href="package-summary.html">Package</a></li>
42
<li class="navBarCell1Rev">Class</li>
43
<li><a href="class-use/jdeserialize.html">Use</a></li>
44
<li><a href="package-tree.html">Tree</a></li>
45
<li><a href="../deprecated-list.html">Deprecated</a></li>
46
<li><a href="../index-files/index-1.html">Index</a></li>
47
<li><a href="../help-doc.html">Help</a></li>
48
</ul>
49
</div>
50
<div class="subNav">
51
<ul class="navList">
52
<li><a href="../jdeserialize/instance.html" title="class in jdeserialize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
53
<li><a href="../jdeserialize/LoggerInputStream.html" title="class in jdeserialize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
54
</ul>
55
<ul class="navList">
56
<li><a href="../index.html?jdeserialize/jdeserialize.html" target="_top">Frames</a></li>
57
<li><a href="jdeserialize.html" target="_top">No&nbsp;Frames</a></li>
58
</ul>
59
<ul class="navList" id="allclasses_navbar_top">
60
<li><a href="../allclasses-noframe.html">All&nbsp;Classes</a></li>
61
</ul>
62
<div>
63
<script type="text/javascript"><!--
64
  allClassesLink = document.getElementById("allclasses_navbar_top");
65
  if(window==top) {
66
    allClassesLink.style.display = "block";
67
  }
68
  else {
69
    allClassesLink.style.display = "none";
70
  }
71
  //-->
72
</script>
73
</div>
74
<div>
75
<ul class="subNavList">
76
<li>Summary:&nbsp;</li>
77
<li>Nested&nbsp;|&nbsp;</li>
78
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
79
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
80
<li><a href="#method.summary">Method</a></li>
81
</ul>
82
<ul class="subNavList">
83
<li>Detail:&nbsp;</li>
84
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
85
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
86
<li><a href="#method.detail">Method</a></li>
87
</ul>
88
</div>
89
<a name="skip.navbar.top">
90
<!--   -->
91
</a></div>
92
<!-- ========= END OF TOP NAVBAR ========= -->
93
<!-- ======== START OF CLASS DATA ======== -->
94
<div class="header">
95
<div class="subTitle">jdeserialize</div>
96
<h2 title="Class jdeserialize" class="title">Class jdeserialize</h2>
97
</div>
98
<div class="contentContainer">
99
<ul class="inheritance">
100
<li>java.lang.Object</li>
101
<li>
102
<ul class="inheritance">
103
<li>jdeserialize.jdeserialize</li>
104
</ul>
105
</li>
106
</ul>
107
<div class="description">
108
<ul class="blockList">
109
<li class="blockList">
110
<hr>
111
<br>
112
<pre>public class <span class="typeNameLabel">jdeserialize</span>
113
extends java.lang.Object</pre>
114
<div class="block">The main user-facing class for the jdeserialize library.  Also the implementation of
115
 the command-line tool.<br/>
116
 <br/>
117
 Library:<br/>
118
 <br/>
119
 The jdeserialize class parses the stream (method run()).  From there, call the
120
 getContent() method to get an itemized list of all items written to the stream, 
121
 or getHandleMaps() to get a list of all handle->content maps generated during parsing.
122
 The objects are generally instances that implement the interface "content"; see the
123
 documentation of various implementors to get more information about the inner
124
 representations.<br/>
125
 <br/>
126
 To enable debugging on stdout, use the enableDebug() or disableDebug() options.   <br/> 
127
 <br/>
128
 <br/>
129
 Command-line tool:   <br/>
130
 <br/>
131
 The tool reads in a set of files and generates configurable output on stdout.  The
132
 primary output consists of three separate stages.  The first stage is  a textual 
133
 description of every piece of content in the stream, in the order it was written.
134
 There is generally a one-to-one mapping between ObjectOutputStream.writeXXX() calls and
135
 items printed in the first stage.  The first stage may be suppressed with the
136
 -nocontent command-line option. <br/>
137
 <br/>
138
 The second stage is a list of every class declaration serialized in the file.  These
139
 are formatted as normal Java language class declarations.  Several options are
140
 available to govern this stage, including -filter, -showarrays, -noclasses, and
141
 -fixnames. <br/>
142
 <br/>
143
 The third stage is a dump of every instance embedded inside the stream, including
144
 textual descriptions of field values.  This is useful for casual viewing of class data. 
145
 To suppress this stage, use -noinstances. <br/>
146
 <br/>
147
 You can also get debugging information generated during the parse phase by supplying
148
 -debug.
149
 <br/>
150
 The data from block data objects can be extracted with the -blockdata <file> option.
151
 Additionally, a manifest describing the size of each individual block can be generated
152
 with the -blockdatamanifest <file> option.
153
 <br/>
154
 References: <br/>
155
     - Java Object Serialization Specification ch. 6 (Object Serialization Stream
156
       Protocol): <br/>
157
       http://download.oracle.com/javase/6/docs/platform/serialization/spec/protocol.html <br/>
158
     - "Modified UTF-8 Strings" within the JNI specification: 
159
       http://download.oracle.com/javase/1.5.0/docs/guide/jni/spec/types.html#wp16542 <br/>
160
     - "Inner Classes Specification" within the JDK 1.1.8 docs:
161
       http://java.sun.com/products/archive/jdk/1.1/ <br/>
162
     - "Java Language Specification", third edition, particularly section 3:
163
       http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html <br/></div>
164
<dl>
165
<dt><span class="seeLabel">See Also:</span></dt>
166
<dd><a href="../jdeserialize/content.html" title="interface in jdeserialize"><code>content</code></a></dd>
167
</dl>
168
</li>
169
</ul>
170
</div>
171
<div class="summary">
172
<ul class="blockList">
173
<li class="blockList">
174
<!-- =========== FIELD SUMMARY =========== -->
175
<ul class="blockList">
176
<li class="blockList"><a name="field.summary">
177
<!--   -->
178
</a>
179
<h3>Field Summary</h3>
180
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
181
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
182
<tr>
183
<th class="colFirst" scope="col">Modifier and Type</th>
184
<th class="colLast" scope="col">Field and Description</th>
185
</tr>
186
<tr class="altColor">
187
<td class="colFirst"><code>static int</code></td>
188
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#CODEWIDTH">CODEWIDTH</a></span></code>&nbsp;</td>
189
</tr>
190
<tr class="rowColor">
191
<td class="colFirst"><code>private java.util.ArrayList&lt;<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;</code></td>
192
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#content">content</a></span></code>&nbsp;</td>
193
</tr>
194
<tr class="altColor">
195
<td class="colFirst"><code>private int</code></td>
196
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#curhandle">curhandle</a></span></code>&nbsp;</td>
197
</tr>
198
<tr class="rowColor">
199
<td class="colFirst"><code>private boolean</code></td>
200
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#debugEnabled">debugEnabled</a></span></code>&nbsp;</td>
201
</tr>
202
<tr class="altColor">
203
<td class="colFirst"><code>private java.util.ArrayList&lt;java.util.Map&lt;java.lang.Integer,<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;&gt;</code></td>
204
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#handlemaps">handlemaps</a></span></code>&nbsp;</td>
205
</tr>
206
<tr class="rowColor">
207
<td class="colFirst"><code>private java.util.HashMap&lt;java.lang.Integer,<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;</code></td>
208
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#handles">handles</a></span></code>&nbsp;</td>
209
</tr>
210
<tr class="altColor">
211
<td class="colFirst"><code>static java.lang.String</code></td>
212
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#INDENT">INDENT</a></span></code>&nbsp;</td>
213
</tr>
214
<tr class="rowColor">
215
<td class="colFirst"><code>static java.lang.String[]</code></td>
216
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#keywords">keywords</a></span></code>&nbsp;</td>
217
</tr>
218
<tr class="altColor">
219
<td class="colFirst"><code>static java.util.HashSet&lt;java.lang.String&gt;</code></td>
220
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#keywordSet">keywordSet</a></span></code>&nbsp;</td>
221
</tr>
222
<tr class="rowColor">
223
<td class="colFirst"><code>static java.lang.String</code></td>
224
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#linesep">linesep</a></span></code>&nbsp;</td>
225
</tr>
226
<tr class="altColor">
227
<td class="colFirst"><code>static long</code></td>
228
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#serialVersionUID">serialVersionUID</a></span></code>&nbsp;</td>
229
</tr>
230
</table>
231
</li>
232
</ul>
233
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
234
<ul class="blockList">
235
<li class="blockList"><a name="constructor.summary">
236
<!--   -->
237
</a>
238
<h3>Constructor Summary</h3>
239
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
240
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
241
<tr>
242
<th class="colOne" scope="col">Constructor and Description</th>
243
</tr>
244
<tr class="altColor">
245
<td class="colOne"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#jdeserialize-byte:A-">jdeserialize</a></span>(byte[]&nbsp;input)</code>
246
<div class="block">
247
 Reads in an entire ObjectOutputStream output on the given stream, filing 
248
 this object's content and handle maps with data about the objects in the stream.</div>
249
</td>
250
</tr>
251
</table>
252
</li>
253
</ul>
254
<!-- ========== METHOD SUMMARY =========== -->
255
<ul class="blockList">
256
<li class="blockList"><a name="method.summary">
257
<!--   -->
258
</a>
259
<h3>Method Summary</h3>
260
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
261
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
262
<tr>
263
<th class="colFirst" scope="col">Modifier and Type</th>
264
<th class="colLast" scope="col">Method and Description</th>
265
</tr>
266
<tr id="i0" class="altColor">
267
<td class="colFirst"><code>void</code></td>
268
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#connectMemberClasses--">connectMemberClasses</a></span>()</code>
269
<div class="block">
270
 Connects member classes according to the rules specified by the JDK 1.1 Inner
271
 Classes Specification.</div>
272
</td>
273
</tr>
274
<tr id="i1" class="rowColor">
275
<td class="colFirst"><code>void</code></td>
276
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#debug-java.lang.String-">debug</a></span>(java.lang.String&nbsp;message)</code>&nbsp;</td>
277
</tr>
278
<tr id="i2" class="altColor">
279
<td class="colFirst"><code>static void</code></td>
280
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#debugerr-java.lang.String-">debugerr</a></span>(java.lang.String&nbsp;message)</code>&nbsp;</td>
281
</tr>
282
<tr id="i3" class="rowColor">
283
<td class="colFirst"><code>static java.lang.String</code></td>
284
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#decodeClassName-java.lang.String-boolean-">decodeClassName</a></span>(java.lang.String&nbsp;fdesc,
285
               boolean&nbsp;convertSlashes)</code>
286
<div class="block">Decodes a class name according to the field-descriptor format in the jvm spec,
287
 section 4.3.2.</div>
288
</td>
289
</tr>
290
<tr id="i4" class="altColor">
291
<td class="colFirst"><code>static void</code></td>
292
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#dump_ClassDesc-int-jdeserialize.classdesc-java.io.PrintStream-boolean-">dump_ClassDesc</a></span>(int&nbsp;indentlevel,
293
              <a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a>&nbsp;cd,
294
              java.io.PrintStream&nbsp;ps,
295
              boolean&nbsp;fixname)</code>&nbsp;</td>
296
</tr>
297
<tr id="i5" class="rowColor">
298
<td class="colFirst"><code>static void</code></td>
299
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#dump_Instance-int-jdeserialize.instance-java.io.PrintStream-">dump_Instance</a></span>(int&nbsp;indentlevel,
300
             <a href="../jdeserialize/instance.html" title="class in jdeserialize">instance</a>&nbsp;inst,
301
             java.io.PrintStream&nbsp;ps)</code>&nbsp;</td>
302
</tr>
303
<tr id="i6" class="altColor">
304
<td class="colFirst"><code>void</code></td>
305
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#dump-jdeserialize.Getopt-">dump</a></span>(<a href="../jdeserialize/Getopt.html" title="class in jdeserialize">Getopt</a>&nbsp;go)</code>&nbsp;</td>
306
</tr>
307
<tr id="i7" class="rowColor">
308
<td class="colFirst"><code>static java.lang.String</code></td>
309
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#fixClassName-java.lang.String-">fixClassName</a></span>(java.lang.String&nbsp;name)</code>
310
<div class="block">"Fix" the given name by transforming illegal characters, such that the end result
311
 is a legal Java identifier that is not a keyword.</div>
312
</td>
313
</tr>
314
<tr id="i8" class="altColor">
315
<td class="colFirst"><code>java.util.List&lt;<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;</code></td>
316
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#getContent--">getContent</a></span>()</code>
317
<div class="block">
318
 Retrieves the list of content objects that were written to the stream.</div>
319
</td>
320
</tr>
321
<tr id="i9" class="rowColor">
322
<td class="colFirst"><code>java.util.List&lt;java.util.Map&lt;java.lang.Integer,<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;&gt;</code></td>
323
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#getHandleMaps--">getHandleMaps</a></span>()</code>
324
<div class="block">
325
 Return a list of Maps containing every object with a handle.</div>
326
</td>
327
</tr>
328
<tr id="i10" class="altColor">
329
<td class="colFirst"><code><a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a></code></td>
330
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#handle_classDesc-byte-java.io.DataInputStream-boolean-">handle_classDesc</a></span>(byte&nbsp;tc,
331
                java.io.DataInputStream&nbsp;dis,
332
                boolean&nbsp;mustBeNew)</code>&nbsp;</td>
333
</tr>
334
<tr id="i11" class="rowColor">
335
<td class="colFirst"><code><a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a></code></td>
336
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#handle_newClassDesc-byte-java.io.DataInputStream-">handle_newClassDesc</a></span>(byte&nbsp;tc,
337
                   java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
338
</tr>
339
<tr id="i12" class="altColor">
340
<td class="colFirst"><code>static java.lang.String</code></td>
341
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#hex-long-">hex</a></span>(long&nbsp;value)</code>&nbsp;</td>
342
</tr>
343
<tr id="i13" class="rowColor">
344
<td class="colFirst"><code>static java.lang.String</code></td>
345
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#hexnoprefix-long-">hexnoprefix</a></span>(long&nbsp;value)</code>&nbsp;</td>
346
</tr>
347
<tr id="i14" class="altColor">
348
<td class="colFirst"><code>static java.lang.String</code></td>
349
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#hexnoprefix-long-int-">hexnoprefix</a></span>(long&nbsp;value,
350
           int&nbsp;len)</code>&nbsp;</td>
351
</tr>
352
<tr id="i15" class="rowColor">
353
<td class="colFirst"><code>static java.lang.String</code></td>
354
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#indent-int-">indent</a></span>(int&nbsp;level)</code>&nbsp;</td>
355
</tr>
356
<tr id="i16" class="altColor">
357
<td class="colFirst"><code>private int</code></td>
358
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#newHandle--">newHandle</a></span>()</code>&nbsp;</td>
359
</tr>
360
<tr id="i17" class="rowColor">
361
<td class="colFirst"><code><a href="../jdeserialize/arraycoll.html" title="class in jdeserialize">arraycoll</a></code></td>
362
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_arrayValues-java.lang.String-java.io.DataInputStream-">read_arrayValues</a></span>(java.lang.String&nbsp;str,
363
                java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
364
</tr>
365
<tr id="i18" class="altColor">
366
<td class="colFirst"><code><a href="../jdeserialize/blockdata.html" title="class in jdeserialize">blockdata</a></code></td>
367
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_blockdata-byte-java.io.DataInputStream-">read_blockdata</a></span>(byte&nbsp;tc,
368
              java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
369
</tr>
370
<tr id="i19" class="rowColor">
371
<td class="colFirst"><code>java.util.List&lt;<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;</code></td>
372
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_classAnnotation-java.io.DataInputStream-">read_classAnnotation</a></span>(java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
373
</tr>
374
<tr id="i20" class="altColor">
375
<td class="colFirst"><code>void</code></td>
376
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_Classdata-java.io.DataInputStream-jdeserialize.instance-">read_Classdata</a></span>(java.io.DataInputStream&nbsp;dis,
377
              <a href="../jdeserialize/instance.html" title="class in jdeserialize">instance</a>&nbsp;inst)</code>&nbsp;</td>
378
</tr>
379
<tr id="i21" class="rowColor">
380
<td class="colFirst"><code><a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a></code></td>
381
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_classDesc-java.io.DataInputStream-">read_classDesc</a></span>(java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
382
</tr>
383
<tr id="i22" class="altColor">
384
<td class="colFirst"><code><a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a></code></td>
385
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_Content-byte-java.io.DataInputStream-boolean-">read_Content</a></span>(byte&nbsp;tc,
386
            java.io.DataInputStream&nbsp;dis,
387
            boolean&nbsp;blockdata)</code>
388
<div class="block">
389
 Read the next object corresponding to the spec grammar rule "content", and return
390
 an object of type content.</div>
391
</td>
392
</tr>
393
<tr id="i23" class="rowColor">
394
<td class="colFirst"><code><a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a></code></td>
395
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_Exception-java.io.DataInputStream-">read_Exception</a></span>(java.io.DataInputStream&nbsp;dis)</code>
396
<div class="block">Read the content of a thrown exception object.</div>
397
</td>
398
</tr>
399
<tr id="i24" class="altColor">
400
<td class="colFirst"><code>java.lang.Object</code></td>
401
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_FieldValue-jdeserialize.fieldtype-java.io.DataInputStream-">read_FieldValue</a></span>(<a href="../jdeserialize/fieldtype.html" title="enum in jdeserialize">fieldtype</a>&nbsp;f,
402
               java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
403
</tr>
404
<tr id="i25" class="rowColor">
405
<td class="colFirst"><code><a href="../jdeserialize/arrayobj.html" title="class in jdeserialize">arrayobj</a></code></td>
406
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_newArray-java.io.DataInputStream-">read_newArray</a></span>(java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
407
</tr>
408
<tr id="i26" class="altColor">
409
<td class="colFirst"><code><a href="../jdeserialize/classobj.html" title="class in jdeserialize">classobj</a></code></td>
410
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_newClass-java.io.DataInputStream-">read_newClass</a></span>(java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
411
</tr>
412
<tr id="i27" class="rowColor">
413
<td class="colFirst"><code><a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a></code></td>
414
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_newClassDesc-java.io.DataInputStream-">read_newClassDesc</a></span>(java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
415
</tr>
416
<tr id="i28" class="altColor">
417
<td class="colFirst"><code><a href="../jdeserialize/enumobj.html" title="class in jdeserialize">enumobj</a></code></td>
418
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_newEnum-java.io.DataInputStream-">read_newEnum</a></span>(java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
419
</tr>
420
<tr id="i29" class="rowColor">
421
<td class="colFirst"><code><a href="../jdeserialize/instance.html" title="class in jdeserialize">instance</a></code></td>
422
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_newObject-java.io.DataInputStream-">read_newObject</a></span>(java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
423
</tr>
424
<tr id="i30" class="altColor">
425
<td class="colFirst"><code><a href="../jdeserialize/stringobj.html" title="class in jdeserialize">stringobj</a></code></td>
426
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_newString-byte-java.io.DataInputStream-">read_newString</a></span>(byte&nbsp;tc,
427
              java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
428
</tr>
429
<tr id="i31" class="rowColor">
430
<td class="colFirst"><code><a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a></code></td>
431
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#read_prevObject-java.io.DataInputStream-">read_prevObject</a></span>(java.io.DataInputStream&nbsp;dis)</code>&nbsp;</td>
432
</tr>
433
<tr id="i32" class="altColor">
434
<td class="colFirst"><code>void</code></td>
435
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#reset--">reset</a></span>()</code>&nbsp;</td>
436
</tr>
437
<tr id="i33" class="rowColor">
438
<td class="colFirst"><code>static java.lang.String</code></td>
439
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#resolveJavaType-jdeserialize.fieldtype-java.lang.String-boolean-boolean-">resolveJavaType</a></span>(<a href="../jdeserialize/fieldtype.html" title="enum in jdeserialize">fieldtype</a>&nbsp;type,
440
               java.lang.String&nbsp;classname,
441
               boolean&nbsp;convertSlashes,
442
               boolean&nbsp;fixname)</code>&nbsp;</td>
443
</tr>
444
<tr id="i34" class="altColor">
445
<td class="colFirst"><code>void</code></td>
446
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#setHandle-int-jdeserialize.content-">setHandle</a></span>(int&nbsp;handle,
447
         <a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&nbsp;c)</code>&nbsp;</td>
448
</tr>
449
<tr id="i35" class="rowColor">
450
<td class="colFirst"><code>static java.lang.String</code></td>
451
<td class="colLast"><code><span class="memberNameLink"><a href="../jdeserialize/jdeserialize.html#unicodeEscape-java.lang.String-">unicodeEscape</a></span>(java.lang.String&nbsp;str)</code>
452
<div class="block">Suitably escapes non-printable-ASCII characters (and doublequotes) for use 
453
 in a Java string literal.</div>
454
</td>
455
</tr>
456
</table>
457
<ul class="blockList">
458
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
459
<!--   -->
460
</a>
461
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
462
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
463
</ul>
464
</li>
465
</ul>
466
</li>
467
</ul>
468
</div>
469
<div class="details">
470
<ul class="blockList">
471
<li class="blockList">
472
<!-- ============ FIELD DETAIL =========== -->
473
<ul class="blockList">
474
<li class="blockList"><a name="field.detail">
475
<!--   -->
476
</a>
477
<h3>Field Detail</h3>
478
<a name="serialVersionUID">
479
<!--   -->
480
</a>
481
<ul class="blockList">
482
<li class="blockList">
483
<h4>serialVersionUID</h4>
484
<pre>public static final&nbsp;long serialVersionUID</pre>
485
<dl>
486
<dt><span class="seeLabel">See Also:</span></dt>
487
<dd><a href="../constant-values.html#jdeserialize.jdeserialize.serialVersionUID">Constant Field Values</a></dd>
488
</dl>
489
</li>
490
</ul>
491
<a name="INDENT">
492
<!--   -->
493
</a>
494
<ul class="blockList">
495
<li class="blockList">
496
<h4>INDENT</h4>
497
<pre>public static final&nbsp;java.lang.String INDENT</pre>
498
<dl>
499
<dt><span class="seeLabel">See Also:</span></dt>
500
<dd><a href="../constant-values.html#jdeserialize.jdeserialize.INDENT">Constant Field Values</a></dd>
501
</dl>
502
</li>
503
</ul>
504
<a name="CODEWIDTH">
505
<!--   -->
506
</a>
507
<ul class="blockList">
508
<li class="blockList">
509
<h4>CODEWIDTH</h4>
510
<pre>public static final&nbsp;int CODEWIDTH</pre>
511
<dl>
512
<dt><span class="seeLabel">See Also:</span></dt>
513
<dd><a href="../constant-values.html#jdeserialize.jdeserialize.CODEWIDTH">Constant Field Values</a></dd>
514
</dl>
515
</li>
516
</ul>
517
<a name="linesep">
518
<!--   -->
519
</a>
520
<ul class="blockList">
521
<li class="blockList">
522
<h4>linesep</h4>
523
<pre>public static final&nbsp;java.lang.String linesep</pre>
524
</li>
525
</ul>
526
<a name="keywords">
527
<!--   -->
528
</a>
529
<ul class="blockList">
530
<li class="blockList">
531
<h4>keywords</h4>
532
<pre>public static final&nbsp;java.lang.String[] keywords</pre>
533
</li>
534
</ul>
535
<a name="keywordSet">
536
<!--   -->
537
</a>
538
<ul class="blockList">
539
<li class="blockList">
540
<h4>keywordSet</h4>
541
<pre>public static&nbsp;java.util.HashSet&lt;java.lang.String&gt; keywordSet</pre>
542
</li>
543
</ul>
544
<a name="handles">
545
<!--   -->
546
</a>
547
<ul class="blockList">
548
<li class="blockList">
549
<h4>handles</h4>
550
<pre>private&nbsp;java.util.HashMap&lt;java.lang.Integer,<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt; handles</pre>
551
</li>
552
</ul>
553
<a name="handlemaps">
554
<!--   -->
555
</a>
556
<ul class="blockList">
557
<li class="blockList">
558
<h4>handlemaps</h4>
559
<pre>private&nbsp;java.util.ArrayList&lt;java.util.Map&lt;java.lang.Integer,<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;&gt; handlemaps</pre>
560
</li>
561
</ul>
562
<a name="content">
563
<!--   -->
564
</a>
565
<ul class="blockList">
566
<li class="blockList">
567
<h4>content</h4>
568
<pre>private&nbsp;java.util.ArrayList&lt;<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt; content</pre>
569
</li>
570
</ul>
571
<a name="curhandle">
572
<!--   -->
573
</a>
574
<ul class="blockList">
575
<li class="blockList">
576
<h4>curhandle</h4>
577
<pre>private&nbsp;int curhandle</pre>
578
</li>
579
</ul>
580
<a name="debugEnabled">
581
<!--   -->
582
</a>
583
<ul class="blockListLast">
584
<li class="blockList">
585
<h4>debugEnabled</h4>
586
<pre>private&nbsp;boolean debugEnabled</pre>
587
</li>
588
</ul>
589
</li>
590
</ul>
591
<!-- ========= CONSTRUCTOR DETAIL ======== -->
592
<ul class="blockList">
593
<li class="blockList"><a name="constructor.detail">
594
<!--   -->
595
</a>
596
<h3>Constructor Detail</h3>
597
<a name="jdeserialize-byte:A-">
598
<!--   -->
599
</a>
600
<ul class="blockListLast">
601
<li class="blockList">
602
<h4>jdeserialize</h4>
603
<pre>public&nbsp;jdeserialize(byte[]&nbsp;input)
604
             throws java.io.IOException</pre>
605
<div class="block"><p>
606
 Reads in an entire ObjectOutputStream output on the given stream, filing 
607
 this object's content and handle maps with data about the objects in the stream.  
608
 </p>
609

    
610
 <p>
611
 If shouldConnect is true, then jdeserialize will attempt to identify member classes
612
 by their names according to the details laid out in the Inner Classes
613
 Specification.  If it finds one, it will set the classdesc's flag indicating that
614
 it is an member class, and it will create a reference in its enclosing class.
615
 </p></div>
616
<dl>
617
<dt><span class="paramLabel">Parameters:</span></dt>
618
<dd><code>is</code> - an open InputStream on a serialized stream of data</dd>
619
<dd><code>shouldConnect</code> - true if jdeserialize should attempt to identify and connect
620
 member classes with their enclosing classes
621
 
622
 Also see the <pre>connectMemberClasses</pre> method for more information on the 
623
 member-class-detection algorithm.</dd>
624
<dt><span class="throwsLabel">Throws:</span></dt>
625
<dd><code>java.io.IOException</code></dd>
626
</dl>
627
</li>
628
</ul>
629
</li>
630
</ul>
631
<!-- ============ METHOD DETAIL ========== -->
632
<ul class="blockList">
633
<li class="blockList"><a name="method.detail">
634
<!--   -->
635
</a>
636
<h3>Method Detail</h3>
637
<a name="getContent--">
638
<!--   -->
639
</a>
640
<ul class="blockList">
641
<li class="blockList">
642
<h4>getContent</h4>
643
<pre>public&nbsp;java.util.List&lt;<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;&nbsp;getContent()</pre>
644
<div class="block"><p>
645
 Retrieves the list of content objects that were written to the stream.  Each item
646
 generally corresponds to an invocation of an ObjectOutputStream writeXXX() method.
647
 A notable exception is the class exceptionstate, which represents an embedded
648
 exception that was caught during serialization.
649
 </p>
650

    
651
 <p>
652
 See the various implementors of content to get information about what data is
653
 available.  
654
 </p>
655

    
656
 <p>
657
 Entries in the list may be null, because it's perfectly legitimate to write a null
658
 reference to the stream.  
659
 </p></div>
660
<dl>
661
<dt><span class="returnLabel">Returns:</span></dt>
662
<dd>a list of content objects</dd>
663
<dt><span class="seeLabel">See Also:</span></dt>
664
<dd><a href="../jdeserialize/content.html" title="interface in jdeserialize"><code>content</code></a>, 
665
<a href="../jdeserialize/exceptionstate.html" title="class in jdeserialize"><code>exceptionstate</code></a></dd>
666
</dl>
667
</li>
668
</ul>
669
<a name="getHandleMaps--">
670
<!--   -->
671
</a>
672
<ul class="blockList">
673
<li class="blockList">
674
<h4>getHandleMaps</h4>
675
<pre>public&nbsp;java.util.List&lt;java.util.Map&lt;java.lang.Integer,<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;&gt;&nbsp;getHandleMaps()</pre>
676
<div class="block"><p>
677
 Return a list of Maps containing every object with a handle.  The keys are integers
678
 -- the handles themselves -- and the values are instances of type content.
679
 </p>
680

    
681
 <p>
682
 Although there is only one map active at a given point, a stream may have multiple
683
 logical maps: when a reset happens (indicated by TC_RESET), the current map is
684
 cleared.  
685
 </p>
686

    
687
 <p>
688
 See the spec for details on handles.
689
 </p></div>
690
<dl>
691
<dt><span class="returnLabel">Returns:</span></dt>
692
<dd>a list of <Integer,content> maps</dd>
693
</dl>
694
</li>
695
</ul>
696
<a name="unicodeEscape-java.lang.String-">
697
<!--   -->
698
</a>
699
<ul class="blockList">
700
<li class="blockList">
701
<h4>unicodeEscape</h4>
702
<pre>public static&nbsp;java.lang.String&nbsp;unicodeEscape(java.lang.String&nbsp;str)</pre>
703
<div class="block">Suitably escapes non-printable-ASCII characters (and doublequotes) for use 
704
 in a Java string literal.</div>
705
<dl>
706
<dt><span class="paramLabel">Parameters:</span></dt>
707
<dd><code>str</code> - string to escape</dd>
708
<dt><span class="returnLabel">Returns:</span></dt>
709
<dd>an escaped version of the string</dd>
710
</dl>
711
</li>
712
</ul>
713
<a name="indent-int-">
714
<!--   -->
715
</a>
716
<ul class="blockList">
717
<li class="blockList">
718
<h4>indent</h4>
719
<pre>public static&nbsp;java.lang.String&nbsp;indent(int&nbsp;level)</pre>
720
</li>
721
</ul>
722
<a name="read_Classdata-java.io.DataInputStream-jdeserialize.instance-">
723
<!--   -->
724
</a>
725
<ul class="blockList">
726
<li class="blockList">
727
<h4>read_Classdata</h4>
728
<pre>public&nbsp;void&nbsp;read_Classdata(java.io.DataInputStream&nbsp;dis,
729
                           <a href="../jdeserialize/instance.html" title="class in jdeserialize">instance</a>&nbsp;inst)
730
                    throws java.io.IOException</pre>
731
<dl>
732
<dt><span class="throwsLabel">Throws:</span></dt>
733
<dd><code>java.io.IOException</code></dd>
734
</dl>
735
</li>
736
</ul>
737
<a name="read_FieldValue-jdeserialize.fieldtype-java.io.DataInputStream-">
738
<!--   -->
739
</a>
740
<ul class="blockList">
741
<li class="blockList">
742
<h4>read_FieldValue</h4>
743
<pre>public&nbsp;java.lang.Object&nbsp;read_FieldValue(<a href="../jdeserialize/fieldtype.html" title="enum in jdeserialize">fieldtype</a>&nbsp;f,
744
                                        java.io.DataInputStream&nbsp;dis)
745
                                 throws java.io.IOException</pre>
746
<dl>
747
<dt><span class="throwsLabel">Throws:</span></dt>
748
<dd><code>java.io.IOException</code></dd>
749
</dl>
750
</li>
751
</ul>
752
<a name="newHandle--">
753
<!--   -->
754
</a>
755
<ul class="blockList">
756
<li class="blockList">
757
<h4>newHandle</h4>
758
<pre>private&nbsp;int&nbsp;newHandle()</pre>
759
</li>
760
</ul>
761
<a name="resolveJavaType-jdeserialize.fieldtype-java.lang.String-boolean-boolean-">
762
<!--   -->
763
</a>
764
<ul class="blockList">
765
<li class="blockList">
766
<h4>resolveJavaType</h4>
767
<pre>public static&nbsp;java.lang.String&nbsp;resolveJavaType(<a href="../jdeserialize/fieldtype.html" title="enum in jdeserialize">fieldtype</a>&nbsp;type,
768
                                               java.lang.String&nbsp;classname,
769
                                               boolean&nbsp;convertSlashes,
770
                                               boolean&nbsp;fixname)
771
                                        throws java.io.IOException</pre>
772
<dl>
773
<dt><span class="throwsLabel">Throws:</span></dt>
774
<dd><code>java.io.IOException</code></dd>
775
</dl>
776
</li>
777
</ul>
778
<a name="read_classAnnotation-java.io.DataInputStream-">
779
<!--   -->
780
</a>
781
<ul class="blockList">
782
<li class="blockList">
783
<h4>read_classAnnotation</h4>
784
<pre>public&nbsp;java.util.List&lt;<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&gt;&nbsp;read_classAnnotation(java.io.DataInputStream&nbsp;dis)
785
                                             throws java.io.IOException</pre>
786
<dl>
787
<dt><span class="throwsLabel">Throws:</span></dt>
788
<dd><code>java.io.IOException</code></dd>
789
</dl>
790
</li>
791
</ul>
792
<a name="dump_Instance-int-jdeserialize.instance-java.io.PrintStream-">
793
<!--   -->
794
</a>
795
<ul class="blockList">
796
<li class="blockList">
797
<h4>dump_Instance</h4>
798
<pre>public static&nbsp;void&nbsp;dump_Instance(int&nbsp;indentlevel,
799
                                 <a href="../jdeserialize/instance.html" title="class in jdeserialize">instance</a>&nbsp;inst,
800
                                 java.io.PrintStream&nbsp;ps)</pre>
801
</li>
802
</ul>
803
<a name="fixClassName-java.lang.String-">
804
<!--   -->
805
</a>
806
<ul class="blockList">
807
<li class="blockList">
808
<h4>fixClassName</h4>
809
<pre>public static&nbsp;java.lang.String&nbsp;fixClassName(java.lang.String&nbsp;name)</pre>
810
<div class="block">"Fix" the given name by transforming illegal characters, such that the end result
811
 is a legal Java identifier that is not a keyword.  
812
 If the string is modified at all, the result will be prepended with "$__".</div>
813
<dl>
814
<dt><span class="paramLabel">Parameters:</span></dt>
815
<dd><code>name</code> - the name to be transformed</dd>
816
<dt><span class="returnLabel">Returns:</span></dt>
817
<dd>the unmodified string if it is legal, otherwise a legal-identifier version</dd>
818
</dl>
819
</li>
820
</ul>
821
<a name="dump_ClassDesc-int-jdeserialize.classdesc-java.io.PrintStream-boolean-">
822
<!--   -->
823
</a>
824
<ul class="blockList">
825
<li class="blockList">
826
<h4>dump_ClassDesc</h4>
827
<pre>public static&nbsp;void&nbsp;dump_ClassDesc(int&nbsp;indentlevel,
828
                                  <a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a>&nbsp;cd,
829
                                  java.io.PrintStream&nbsp;ps,
830
                                  boolean&nbsp;fixname)
831
                           throws java.io.IOException</pre>
832
<dl>
833
<dt><span class="throwsLabel">Throws:</span></dt>
834
<dd><code>java.io.IOException</code></dd>
835
</dl>
836
</li>
837
</ul>
838
<a name="setHandle-int-jdeserialize.content-">
839
<!--   -->
840
</a>
841
<ul class="blockList">
842
<li class="blockList">
843
<h4>setHandle</h4>
844
<pre>public&nbsp;void&nbsp;setHandle(int&nbsp;handle,
845
                      <a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&nbsp;c)
846
               throws java.io.IOException</pre>
847
<dl>
848
<dt><span class="throwsLabel">Throws:</span></dt>
849
<dd><code>java.io.IOException</code></dd>
850
</dl>
851
</li>
852
</ul>
853
<a name="reset--">
854
<!--   -->
855
</a>
856
<ul class="blockList">
857
<li class="blockList">
858
<h4>reset</h4>
859
<pre>public&nbsp;void&nbsp;reset()</pre>
860
</li>
861
</ul>
862
<a name="read_Exception-java.io.DataInputStream-">
863
<!--   -->
864
</a>
865
<ul class="blockList">
866
<li class="blockList">
867
<h4>read_Exception</h4>
868
<pre>public&nbsp;<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&nbsp;read_Exception(java.io.DataInputStream&nbsp;dis)
869
                       throws java.io.IOException</pre>
870
<div class="block">Read the content of a thrown exception object.  According to the spec, this must be
871
 an object of type Throwable.  Although the Sun JDK always appears to provide enough
872
 information about the hierarchy to reach all the way back to java.lang.Throwable,
873
 it's unclear whether this is actually a requirement.  From my reading, it's
874
 possible that some other ObjectOutputStream implementations may leave some gaps in
875
 the hierarchy, forcing this app to hit the classloader.  To avoid this, we merely
876
 ensure that the written object is indeed an instance; ensuring that the object is
877
 indeed a Throwable is an exercise left to the user.</div>
878
<dl>
879
<dt><span class="throwsLabel">Throws:</span></dt>
880
<dd><code>java.io.IOException</code></dd>
881
</dl>
882
</li>
883
</ul>
884
<a name="read_classDesc-java.io.DataInputStream-">
885
<!--   -->
886
</a>
887
<ul class="blockList">
888
<li class="blockList">
889
<h4>read_classDesc</h4>
890
<pre>public&nbsp;<a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a>&nbsp;read_classDesc(java.io.DataInputStream&nbsp;dis)
891
                         throws java.io.IOException</pre>
892
<dl>
893
<dt><span class="throwsLabel">Throws:</span></dt>
894
<dd><code>java.io.IOException</code></dd>
895
</dl>
896
</li>
897
</ul>
898
<a name="read_newClassDesc-java.io.DataInputStream-">
899
<!--   -->
900
</a>
901
<ul class="blockList">
902
<li class="blockList">
903
<h4>read_newClassDesc</h4>
904
<pre>public&nbsp;<a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a>&nbsp;read_newClassDesc(java.io.DataInputStream&nbsp;dis)
905
                            throws java.io.IOException</pre>
906
<dl>
907
<dt><span class="throwsLabel">Throws:</span></dt>
908
<dd><code>java.io.IOException</code></dd>
909
</dl>
910
</li>
911
</ul>
912
<a name="read_prevObject-java.io.DataInputStream-">
913
<!--   -->
914
</a>
915
<ul class="blockList">
916
<li class="blockList">
917
<h4>read_prevObject</h4>
918
<pre>public&nbsp;<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&nbsp;read_prevObject(java.io.DataInputStream&nbsp;dis)
919
                        throws java.io.IOException</pre>
920
<dl>
921
<dt><span class="throwsLabel">Throws:</span></dt>
922
<dd><code>java.io.IOException</code></dd>
923
</dl>
924
</li>
925
</ul>
926
<a name="handle_newClassDesc-byte-java.io.DataInputStream-">
927
<!--   -->
928
</a>
929
<ul class="blockList">
930
<li class="blockList">
931
<h4>handle_newClassDesc</h4>
932
<pre>public&nbsp;<a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a>&nbsp;handle_newClassDesc(byte&nbsp;tc,
933
                                     java.io.DataInputStream&nbsp;dis)
934
                              throws java.io.IOException</pre>
935
<dl>
936
<dt><span class="throwsLabel">Throws:</span></dt>
937
<dd><code>java.io.IOException</code></dd>
938
</dl>
939
</li>
940
</ul>
941
<a name="handle_classDesc-byte-java.io.DataInputStream-boolean-">
942
<!--   -->
943
</a>
944
<ul class="blockList">
945
<li class="blockList">
946
<h4>handle_classDesc</h4>
947
<pre>public&nbsp;<a href="../jdeserialize/classdesc.html" title="class in jdeserialize">classdesc</a>&nbsp;handle_classDesc(byte&nbsp;tc,
948
                                  java.io.DataInputStream&nbsp;dis,
949
                                  boolean&nbsp;mustBeNew)
950
                           throws java.io.IOException</pre>
951
<dl>
952
<dt><span class="throwsLabel">Throws:</span></dt>
953
<dd><code>java.io.IOException</code></dd>
954
</dl>
955
</li>
956
</ul>
957
<a name="read_newArray-java.io.DataInputStream-">
958
<!--   -->
959
</a>
960
<ul class="blockList">
961
<li class="blockList">
962
<h4>read_newArray</h4>
963
<pre>public&nbsp;<a href="../jdeserialize/arrayobj.html" title="class in jdeserialize">arrayobj</a>&nbsp;read_newArray(java.io.DataInputStream&nbsp;dis)
964
                       throws java.io.IOException</pre>
965
<dl>
966
<dt><span class="throwsLabel">Throws:</span></dt>
967
<dd><code>java.io.IOException</code></dd>
968
</dl>
969
</li>
970
</ul>
971
<a name="read_arrayValues-java.lang.String-java.io.DataInputStream-">
972
<!--   -->
973
</a>
974
<ul class="blockList">
975
<li class="blockList">
976
<h4>read_arrayValues</h4>
977
<pre>public&nbsp;<a href="../jdeserialize/arraycoll.html" title="class in jdeserialize">arraycoll</a>&nbsp;read_arrayValues(java.lang.String&nbsp;str,
978
                                  java.io.DataInputStream&nbsp;dis)
979
                           throws java.io.IOException</pre>
980
<dl>
981
<dt><span class="throwsLabel">Throws:</span></dt>
982
<dd><code>java.io.IOException</code></dd>
983
</dl>
984
</li>
985
</ul>
986
<a name="read_newClass-java.io.DataInputStream-">
987
<!--   -->
988
</a>
989
<ul class="blockList">
990
<li class="blockList">
991
<h4>read_newClass</h4>
992
<pre>public&nbsp;<a href="../jdeserialize/classobj.html" title="class in jdeserialize">classobj</a>&nbsp;read_newClass(java.io.DataInputStream&nbsp;dis)
993
                       throws java.io.IOException</pre>
994
<dl>
995
<dt><span class="throwsLabel">Throws:</span></dt>
996
<dd><code>java.io.IOException</code></dd>
997
</dl>
998
</li>
999
</ul>
1000
<a name="read_newEnum-java.io.DataInputStream-">
1001
<!--   -->
1002
</a>
1003
<ul class="blockList">
1004
<li class="blockList">
1005
<h4>read_newEnum</h4>
1006
<pre>public&nbsp;<a href="../jdeserialize/enumobj.html" title="class in jdeserialize">enumobj</a>&nbsp;read_newEnum(java.io.DataInputStream&nbsp;dis)
1007
                     throws java.io.IOException</pre>
1008
<dl>
1009
<dt><span class="throwsLabel">Throws:</span></dt>
1010
<dd><code>java.io.IOException</code></dd>
1011
</dl>
1012
</li>
1013
</ul>
1014
<a name="read_newString-byte-java.io.DataInputStream-">
1015
<!--   -->
1016
</a>
1017
<ul class="blockList">
1018
<li class="blockList">
1019
<h4>read_newString</h4>
1020
<pre>public&nbsp;<a href="../jdeserialize/stringobj.html" title="class in jdeserialize">stringobj</a>&nbsp;read_newString(byte&nbsp;tc,
1021
                                java.io.DataInputStream&nbsp;dis)
1022
                         throws java.io.IOException</pre>
1023
<dl>
1024
<dt><span class="throwsLabel">Throws:</span></dt>
1025
<dd><code>java.io.IOException</code></dd>
1026
</dl>
1027
</li>
1028
</ul>
1029
<a name="read_blockdata-byte-java.io.DataInputStream-">
1030
<!--   -->
1031
</a>
1032
<ul class="blockList">
1033
<li class="blockList">
1034
<h4>read_blockdata</h4>
1035
<pre>public&nbsp;<a href="../jdeserialize/blockdata.html" title="class in jdeserialize">blockdata</a>&nbsp;read_blockdata(byte&nbsp;tc,
1036
                                java.io.DataInputStream&nbsp;dis)
1037
                         throws java.io.IOException</pre>
1038
<dl>
1039
<dt><span class="throwsLabel">Throws:</span></dt>
1040
<dd><code>java.io.IOException</code></dd>
1041
</dl>
1042
</li>
1043
</ul>
1044
<a name="read_newObject-java.io.DataInputStream-">
1045
<!--   -->
1046
</a>
1047
<ul class="blockList">
1048
<li class="blockList">
1049
<h4>read_newObject</h4>
1050
<pre>public&nbsp;<a href="../jdeserialize/instance.html" title="class in jdeserialize">instance</a>&nbsp;read_newObject(java.io.DataInputStream&nbsp;dis)
1051
                        throws java.io.IOException</pre>
1052
<dl>
1053
<dt><span class="throwsLabel">Throws:</span></dt>
1054
<dd><code>java.io.IOException</code></dd>
1055
</dl>
1056
</li>
1057
</ul>
1058
<a name="read_Content-byte-java.io.DataInputStream-boolean-">
1059
<!--   -->
1060
</a>
1061
<ul class="blockList">
1062
<li class="blockList">
1063
<h4>read_Content</h4>
1064
<pre>public&nbsp;<a href="../jdeserialize/content.html" title="interface in jdeserialize">content</a>&nbsp;read_Content(byte&nbsp;tc,
1065
                            java.io.DataInputStream&nbsp;dis,
1066
                            boolean&nbsp;blockdata)
1067
                     throws java.io.IOException</pre>
1068
<div class="block"><p>
1069
 Read the next object corresponding to the spec grammar rule "content", and return
1070
 an object of type content.
1071
 </p>
1072

    
1073
 <p>
1074
 Usually, there is a 1:1 mapping of content items and returned instances.  The
1075
 one case where this isn't true is when an exception is embedded inside another
1076
 object.  When this is encountered, only the serialized exception object is
1077
 returned; it's up to the caller to backtrack in order to gather any data from the
1078
 object that was being serialized when the exception was thrown.
1079
 </p></div>
1080
<dl>
1081
<dt><span class="paramLabel">Parameters:</span></dt>
1082
<dd><code>tc</code> - the last byte read from the stream; it must be one of the TC_* values
1083
 within ObjectStreamConstants.*</dd>
1084
<dd><code>dis</code> - the DataInputStream to read from</dd>
1085
<dd><code>blockdata</code> - whether or not to read TC_BLOCKDATA (this is the difference
1086
 between spec rules "object" and "content").</dd>
1087
<dt><span class="returnLabel">Returns:</span></dt>
1088
<dd>an object representing the last read item from the stream</dd>
1089
<dt><span class="throwsLabel">Throws:</span></dt>
1090
<dd><code>java.io.IOException</code> - when a validity or I/O error occurs while reading</dd>
1091
</dl>
1092
</li>
1093
</ul>
1094
<a name="dump-jdeserialize.Getopt-">
1095
<!--   -->
1096
</a>
1097
<ul class="blockList">
1098
<li class="blockList">
1099
<h4>dump</h4>
1100
<pre>public&nbsp;void&nbsp;dump(<a href="../jdeserialize/Getopt.html" title="class in jdeserialize">Getopt</a>&nbsp;go)
1101
          throws java.io.IOException</pre>
1102
<dl>
1103
<dt><span class="throwsLabel">Throws:</span></dt>
1104
<dd><code>java.io.IOException</code></dd>
1105
</dl>
1106
</li>
1107
</ul>
1108
<a name="connectMemberClasses--">
1109
<!--   -->
1110
</a>
1111
<ul class="blockList">
1112
<li class="blockList">
1113
<h4>connectMemberClasses</h4>
1114
<pre>public&nbsp;void&nbsp;connectMemberClasses()
1115
                          throws java.io.IOException</pre>
1116
<div class="block"><p>
1117
 Connects member classes according to the rules specified by the JDK 1.1 Inner
1118
 Classes Specification.  
1119
 </p>
1120

    
1121
 <pre>
1122
 Inner classes:
1123
 for each class C containing an object reference member R named this$N, do:
1124
     if the name of C matches the pattern O$I
1125
     AND the name O matches the name of an existing type T
1126
     AND T is the exact type referred to by R, then:
1127
         don't display the declaration of R in normal dumping,
1128
         consider C to be an inner class of O named I
1129

    
1130
 Static member classes (after):
1131
 for each class C matching the pattern O$I, 
1132
 where O is the name of a class in the same package
1133
 AND C is not an inner class according to the above algorithm:
1134
     consider C to be an inner class of O named I
1135
 </pre>
1136

    
1137
 <p>
1138
 This functions fills in the isInnerClass value in classdesc, the
1139
 isInnerClassReference value in field, the isLocalInnerClass value in 
1140
 classdesc, and the isStaticMemberClass value in classdesc where necessary.
1141
 </p>
1142

    
1143
 <p>
1144
 A word on static classes: serializing a static member class S doesn't inherently
1145
 require serialization of its parent class P.  Unlike inner classes, S doesn't
1146
 retain an instance of P, and therefore P's class description doesn't need to be
1147
 written.  In these cases, if parent classes can be found, their static member
1148
 classes will be connected; but if they can't be found, the names will not be
1149
 changed and no ValidityException will be thrown.
1150
 </p></div>
1151
<dl>
1152
<dt><span class="throwsLabel">Throws:</span></dt>
1153
<dd><code><a href="../jdeserialize/ValidityException.html" title="class in jdeserialize">ValidityException</a></code> - if the found values don't correspond to spec</dd>
1154
<dd><code>java.io.IOException</code></dd>
1155
</dl>
1156
</li>
1157
</ul>
1158
<a name="decodeClassName-java.lang.String-boolean-">
1159
<!--   -->
1160
</a>
1161
<ul class="blockList">
1162
<li class="blockList">
1163
<h4>decodeClassName</h4>
1164
<pre>public static&nbsp;java.lang.String&nbsp;decodeClassName(java.lang.String&nbsp;fdesc,
1165
                                               boolean&nbsp;convertSlashes)
1166
                                        throws <a href="../jdeserialize/ValidityException.html" title="class in jdeserialize">ValidityException</a></pre>
1167
<div class="block">Decodes a class name according to the field-descriptor format in the jvm spec,
1168
 section 4.3.2.</div>
1169
<dl>
1170
<dt><span class="paramLabel">Parameters:</span></dt>
1171
<dd><code>fdesc</code> - name in field-descriptor format (Lfoo/bar/baz;)</dd>
1172
<dd><code>convertSlashes</code> - true iff slashes should be replaced with periods (true for
1173
 "real" field-descriptor format; false for names in classdesc)</dd>
1174
<dt><span class="returnLabel">Returns:</span></dt>
1175
<dd>a fully-qualified class name</dd>
1176
<dt><span class="throwsLabel">Throws:</span></dt>
1177
<dd><code><a href="../jdeserialize/ValidityException.html" title="class in jdeserialize">ValidityException</a></code> - if the name isn't valid</dd>
1178
</dl>
1179
</li>
1180
</ul>
1181
<a name="hexnoprefix-long-">
1182
<!--   -->
1183
</a>
1184
<ul class="blockList">
1185
<li class="blockList">
1186
<h4>hexnoprefix</h4>
1187
<pre>public static&nbsp;java.lang.String&nbsp;hexnoprefix(long&nbsp;value)</pre>
1188
</li>
1189
</ul>
1190
<a name="hexnoprefix-long-int-">
1191
<!--   -->
1192
</a>
1193
<ul class="blockList">
1194
<li class="blockList">
1195
<h4>hexnoprefix</h4>
1196
<pre>public static&nbsp;java.lang.String&nbsp;hexnoprefix(long&nbsp;value,
1197
                                           int&nbsp;len)</pre>
1198
</li>
1199
</ul>
1200
<a name="hex-long-">
1201
<!--   -->
1202
</a>
1203
<ul class="blockList">
1204
<li class="blockList">
1205
<h4>hex</h4>
1206
<pre>public static&nbsp;java.lang.String&nbsp;hex(long&nbsp;value)</pre>
1207
</li>
1208
</ul>
1209
<a name="debugerr-java.lang.String-">
1210
<!--   -->
1211
</a>
1212
<ul class="blockList">
1213
<li class="blockList">
1214
<h4>debugerr</h4>
1215
<pre>public static&nbsp;void&nbsp;debugerr(java.lang.String&nbsp;message)</pre>
1216
</li>
1217
</ul>
1218
<a name="debug-java.lang.String-">
1219
<!--   -->
1220
</a>
1221
<ul class="blockListLast">
1222
<li class="blockList">
1223
<h4>debug</h4>
1224
<pre>public&nbsp;void&nbsp;debug(java.lang.String&nbsp;message)</pre>
1225
</li>
1226
</ul>
1227
</li>
1228
</ul>
1229
</li>
1230
</ul>
1231
</div>
1232
</div>
1233
<!-- ========= END OF CLASS DATA ========= -->
1234
<!-- ======= START OF BOTTOM NAVBAR ====== -->
1235
<div class="bottomNav"><a name="navbar.bottom">
1236
<!--   -->
1237
</a>
1238
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
1239
<a name="navbar.bottom.firstrow">
1240
<!--   -->
1241
</a>
1242
<ul class="navList" title="Navigation">
1243
<li><a href="../overview-summary.html">Overview</a></li>
1244
<li><a href="package-summary.html">Package</a></li>
1245
<li class="navBarCell1Rev">Class</li>
1246
<li><a href="class-use/jdeserialize.html">Use</a></li>
1247
<li><a href="package-tree.html">Tree</a></li>
1248
<li><a href="../deprecated-list.html">Deprecated</a></li>
1249
<li><a href="../index-files/index-1.html">Index</a></li>
1250
<li><a href="../help-doc.html">Help</a></li>
1251
</ul>
1252
</div>
1253
<div class="subNav">
1254
<ul class="navList">
1255
<li><a href="../jdeserialize/instance.html" title="class in jdeserialize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
1256
<li><a href="../jdeserialize/LoggerInputStream.html" title="class in jdeserialize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
1257
</ul>
1258
<ul class="navList">
1259
<li><a href="../index.html?jdeserialize/jdeserialize.html" target="_top">Frames</a></li>
1260
<li><a href="jdeserialize.html" target="_top">No&nbsp;Frames</a></li>
1261
</ul>
1262
<ul class="navList" id="allclasses_navbar_bottom">
1263
<li><a href="../allclasses-noframe.html">All&nbsp;Classes</a></li>
1264
</ul>
1265
<div>
1266
<script type="text/javascript"><!--
1267
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
1268
  if(window==top) {
1269
    allClassesLink.style.display = "block";
1270
  }
1271
  else {
1272
    allClassesLink.style.display = "none";
1273
  }
1274
  //-->
1275
</script>
1276
</div>
1277
<div>
1278
<ul class="subNavList">
1279
<li>Summary:&nbsp;</li>
1280
<li>Nested&nbsp;|&nbsp;</li>
1281
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
1282
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
1283
<li><a href="#method.summary">Method</a></li>
1284
</ul>
1285
<ul class="subNavList">
1286
<li>Detail:&nbsp;</li>
1287
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
1288
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
1289
<li><a href="#method.detail">Method</a></li>
1290
</ul>
1291
</div>
1292
<a name="skip.navbar.bottom">
1293
<!--   -->
1294
</a></div>
1295
<!-- ======== END OF BOTTOM NAVBAR ======= -->
1296
</body>
1297
</html>
(20-20/25)