KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sleepycat > persist > impl > SimpleFormat


1 /*-
2  * See the file LICENSE for redistribution information.
3  *
4  * Copyright (c) 2002,2006 Oracle. All rights reserved.
5  *
6  * $Id: SimpleFormat.java,v 1.20 2006/11/14 23:30:49 mark Exp $
7  */

8
9 package com.sleepycat.persist.impl;
10
11 import java.lang.reflect.Field JavaDoc;
12 import java.math.BigInteger JavaDoc;
13 import java.util.Date JavaDoc;
14 import java.util.Map JavaDoc;
15 import java.util.Set JavaDoc;
16
17 import com.sleepycat.je.DatabaseEntry;
18
19 /**
20  * Format for simple types, including primitives. Additional methods are
21  * included to optimize the handling of primitives. Other classes such as
22  * PrimitiveArrayFormat and ReflectAccessor take advantage of these methods.
23  *
24  * @author Mark Hayes
25  */

26 public abstract class SimpleFormat extends Format {
27
28     private static final long serialVersionUID = 4595245575868697702L;
29
30     private boolean primitive;
31     private SimpleFormat wrapperFormat;
32
33     SimpleFormat(Class JavaDoc type, boolean primitive) {
34         super(type);
35         this.primitive = primitive;
36     }
37
38     void setWrapperFormat(SimpleFormat wrapperFormat) {
39         this.wrapperFormat = wrapperFormat;
40     }
41
42     @Override JavaDoc
43     Format getWrapperFormat() {
44         return wrapperFormat;
45     }
46
47     @Override JavaDoc
48     public boolean isSimple() {
49         return true;
50     }
51
52     @Override JavaDoc
53     public boolean isPrimitive() {
54         return primitive;
55     }
56
57     @Override JavaDoc
58     void collectRelatedFormats(Catalog catalog,
59                                Map JavaDoc<String JavaDoc,Format> newFormats) {
60     }
61
62     @Override JavaDoc
63     void initialize(Catalog catalog) {
64     }
65
66     @Override JavaDoc
67     public Object JavaDoc readObject(Object JavaDoc o, EntityInput input, boolean rawAccess) {
68         /* newInstance reads the value -- do nothing here. */
69         return o;
70     }
71
72     @Override JavaDoc
73     boolean evolve(Format newFormat, Evolver evolver) {
74         evolver.useOldFormat(this, newFormat);
75         return true;
76     }
77
78     /* -- Begin methods to be overridden by primitive formats only. -- */
79
80     Object JavaDoc newPrimitiveArray(int len, EntityInput input) {
81         throw new UnsupportedOperationException JavaDoc();
82     }
83
84     void writePrimitiveArray(Object JavaDoc o, EntityOutput output) {
85         throw new UnsupportedOperationException JavaDoc();
86     }
87
88     int getPrimitiveLength() {
89         throw new UnsupportedOperationException JavaDoc();
90     }
91
92     void readPrimitiveField(Object JavaDoc o, EntityInput input, Field JavaDoc field)
93         throws IllegalAccessException JavaDoc {
94
95         throw new UnsupportedOperationException JavaDoc();
96     }
97
98     void writePrimitiveField(Object JavaDoc o, EntityOutput output, Field JavaDoc field)
99         throws IllegalAccessException JavaDoc {
100
101         throw new UnsupportedOperationException JavaDoc();
102     }
103
104     /* -- End methods to be overridden by primitive formats only. -- */
105
106     void skipPrimitiveArray(int len, RecordInput input) {
107         input.skipFast(len * getPrimitiveLength());
108     }
109
110     void copySecMultiKeyPrimitiveArray(int len,
111                                        RecordInput input,
112                                        Set JavaDoc results) {
113         int primLen = getPrimitiveLength();
114         for (int i = 0; i < len; i += 1) {
115             DatabaseEntry entry = new DatabaseEntry
116                 (input.getBufferBytes(), input.getBufferOffset(), primLen);
117             results.add(entry);
118             input.skipFast(primLen);
119         }
120     }
121
122     public static class FBool extends SimpleFormat {
123
124         private static final long serialVersionUID = -7724949525068533451L;
125
126         FBool(boolean primitive) {
127             super(primitive ? Boolean.TYPE : Boolean JavaDoc.class, primitive);
128         }
129
130         @Override JavaDoc
131         Object JavaDoc newArray(int len) {
132             return new Boolean JavaDoc[len];
133         }
134
135         @Override JavaDoc
136         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
137             return Boolean.valueOf(input.readBoolean());
138         }
139
140         @Override JavaDoc
141         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
142             output.writeBoolean(((Boolean JavaDoc) o).booleanValue());
143         }
144
145         @Override JavaDoc
146         void skipContents(RecordInput input) {
147             input.skipFast(1);
148         }
149
150         @Override JavaDoc
151         void copySecKey(RecordInput input, RecordOutput output) {
152             output.writeFast(input.readFast());
153         }
154
155         @Override JavaDoc
156         Object JavaDoc newPrimitiveArray(int len, EntityInput input) {
157             boolean[] a = new boolean[len];
158             for (int i = 0; i < len; i += 1) {
159                 a[i] = input.readBoolean();
160             }
161             return a;
162         }
163
164         @Override JavaDoc
165         void writePrimitiveArray(Object JavaDoc o, EntityOutput output) {
166             boolean[] a = (boolean[]) o;
167             int len = a.length;
168             output.writeArrayLength(len);
169             for (int i = 0; i < len; i += 1) {
170                 output.writeBoolean(a[i]);
171             }
172         }
173
174         @Override JavaDoc
175         int getPrimitiveLength() {
176             return 1;
177         }
178
179         @Override JavaDoc
180         void readPrimitiveField(Object JavaDoc o, EntityInput input, Field JavaDoc field)
181             throws IllegalAccessException JavaDoc {
182
183             field.setBoolean(o, input.readBoolean());
184         }
185
186         @Override JavaDoc
187         void writePrimitiveField(Object JavaDoc o, EntityOutput output, Field JavaDoc field)
188             throws IllegalAccessException JavaDoc {
189
190             output.writeBoolean(field.getBoolean(o));
191         }
192     }
193
194     public static class FByte extends SimpleFormat {
195
196         private static final long serialVersionUID = 3651752958101447257L;
197
198         FByte(boolean primitive) {
199             super(primitive ? Byte.TYPE : Byte JavaDoc.class, primitive);
200         }
201
202         @Override JavaDoc
203         Object JavaDoc newArray(int len) {
204             return new Byte JavaDoc[len];
205         }
206
207         @Override JavaDoc
208         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
209             return Byte.valueOf(input.readByte());
210         }
211
212         @Override JavaDoc
213         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
214             output.writeByte(((Number JavaDoc) o).byteValue());
215         }
216
217         @Override JavaDoc
218         void skipContents(RecordInput input) {
219             input.skipFast(1);
220         }
221
222         @Override JavaDoc
223         void copySecKey(RecordInput input, RecordOutput output) {
224             output.writeFast(input.readFast());
225         }
226
227         @Override JavaDoc
228         Object JavaDoc newPrimitiveArray(int len, EntityInput input) {
229             byte[] a = new byte[len];
230             for (int i = 0; i < len; i += 1) {
231                 a[i] = input.readByte();
232             }
233             return a;
234         }
235
236         @Override JavaDoc
237         void writePrimitiveArray(Object JavaDoc o, EntityOutput output) {
238             byte[] a = (byte[]) o;
239             int len = a.length;
240             output.writeArrayLength(len);
241             for (int i = 0; i < len; i += 1) {
242                 output.writeByte(a[i]);
243             }
244         }
245
246         @Override JavaDoc
247         int getPrimitiveLength() {
248             return 1;
249         }
250
251         @Override JavaDoc
252         void readPrimitiveField(Object JavaDoc o, EntityInput input, Field JavaDoc field)
253             throws IllegalAccessException JavaDoc {
254
255             field.setByte(o, input.readByte());
256         }
257
258         @Override JavaDoc
259         void writePrimitiveField(Object JavaDoc o, EntityOutput output, Field JavaDoc field)
260             throws IllegalAccessException JavaDoc {
261
262             output.writeByte(field.getByte(o));
263         }
264     }
265
266     public static class FShort extends SimpleFormat {
267
268         private static final long serialVersionUID = -4909138198491785624L;
269
270         FShort(boolean primitive) {
271             super(primitive ? Short.TYPE : Short JavaDoc.class, primitive);
272         }
273
274         @Override JavaDoc
275         Object JavaDoc newArray(int len) {
276             return new Short JavaDoc[len];
277         }
278
279         @Override JavaDoc
280         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
281             return Short.valueOf(input.readShort());
282         }
283
284         @Override JavaDoc
285         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
286             output.writeShort(((Number JavaDoc) o).shortValue());
287         }
288
289         @Override JavaDoc
290         void skipContents(RecordInput input) {
291             input.skipFast(2);
292         }
293
294         @Override JavaDoc
295         void copySecKey(RecordInput input, RecordOutput output) {
296             output.writeFast(input.readFast());
297             output.writeFast(input.readFast());
298         }
299
300         @Override JavaDoc
301         Object JavaDoc newPrimitiveArray(int len, EntityInput input) {
302             short[] a = new short[len];
303             for (int i = 0; i < len; i += 1) {
304                 a[i] = input.readShort();
305             }
306             return a;
307         }
308
309         @Override JavaDoc
310         void writePrimitiveArray(Object JavaDoc o, EntityOutput output) {
311             short[] a = (short[]) o;
312             int len = a.length;
313             output.writeArrayLength(len);
314             for (int i = 0; i < len; i += 1) {
315                 output.writeShort(a[i]);
316             }
317         }
318
319         @Override JavaDoc
320         int getPrimitiveLength() {
321             return 2;
322         }
323
324         @Override JavaDoc
325         void readPrimitiveField(Object JavaDoc o, EntityInput input, Field JavaDoc field)
326             throws IllegalAccessException JavaDoc {
327
328             field.setShort(o, input.readShort());
329         }
330
331         @Override JavaDoc
332         void writePrimitiveField(Object JavaDoc o, EntityOutput output, Field JavaDoc field)
333             throws IllegalAccessException JavaDoc {
334
335             output.writeShort(field.getShort(o));
336         }
337     }
338
339     public static class FInt extends SimpleFormat {
340
341         private static final long serialVersionUID = 2695910006049980013L;
342
343         FInt(boolean primitive) {
344             super(primitive ? Integer.TYPE : Integer JavaDoc.class, primitive);
345         }
346
347         @Override JavaDoc
348         Object JavaDoc newArray(int len) {
349             return new Integer JavaDoc[len];
350         }
351
352         @Override JavaDoc
353         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
354             return Integer.valueOf(input.readInt());
355         }
356
357         @Override JavaDoc
358         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
359             output.writeInt(((Number JavaDoc) o).intValue());
360         }
361
362         @Override JavaDoc
363         void skipContents(RecordInput input) {
364             input.skipFast(4);
365         }
366
367         @Override JavaDoc
368         void copySecKey(RecordInput input, RecordOutput output) {
369             output.writeFast(input.readFast());
370             output.writeFast(input.readFast());
371             output.writeFast(input.readFast());
372             output.writeFast(input.readFast());
373         }
374
375         @Override JavaDoc
376         Object JavaDoc newPrimitiveArray(int len, EntityInput input) {
377             int[] a = new int[len];
378             for (int i = 0; i < len; i += 1) {
379                 a[i] = input.readInt();
380             }
381             return a;
382         }
383
384         @Override JavaDoc
385         void writePrimitiveArray(Object JavaDoc o, EntityOutput output) {
386             int[] a = (int[]) o;
387             int len = a.length;
388             output.writeArrayLength(len);
389             for (int i = 0; i < len; i += 1) {
390                 output.writeInt(a[i]);
391             }
392         }
393
394         @Override JavaDoc
395         int getPrimitiveLength() {
396             return 4;
397         }
398
399         @Override JavaDoc
400         void readPrimitiveField(Object JavaDoc o, EntityInput input, Field JavaDoc field)
401             throws IllegalAccessException JavaDoc {
402
403             field.setInt(o, input.readInt());
404         }
405
406         @Override JavaDoc
407         void writePrimitiveField(Object JavaDoc o, EntityOutput output, Field JavaDoc field)
408             throws IllegalAccessException JavaDoc {
409
410             output.writeInt(field.getInt(o));
411         }
412     }
413
414     public static class FLong extends SimpleFormat {
415
416         private static final long serialVersionUID = 1872661106534776520L;
417
418         FLong(boolean primitive) {
419             super(primitive ? Long.TYPE : Long JavaDoc.class, primitive);
420         }
421
422         @Override JavaDoc
423         Object JavaDoc newArray(int len) {
424             return new Long JavaDoc[len];
425         }
426
427         @Override JavaDoc
428         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
429             return Long.valueOf(input.readLong());
430         }
431
432         @Override JavaDoc
433         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
434             output.writeLong(((Number JavaDoc) o).longValue());
435         }
436
437         @Override JavaDoc
438         void skipContents(RecordInput input) {
439             input.skipFast(8);
440         }
441
442         @Override JavaDoc
443         void copySecKey(RecordInput input, RecordOutput output) {
444             output.writeFast
445                 (input.getBufferBytes(), input.getBufferOffset(), 8);
446             input.skipFast(8);
447         }
448
449         @Override JavaDoc
450         Object JavaDoc newPrimitiveArray(int len, EntityInput input) {
451             long[] a = new long[len];
452             for (int i = 0; i < len; i += 1) {
453                 a[i] = input.readLong();
454             }
455             return a;
456         }
457
458         @Override JavaDoc
459         void writePrimitiveArray(Object JavaDoc o, EntityOutput output) {
460             long[] a = (long[]) o;
461             int len = a.length;
462             output.writeArrayLength(len);
463             for (int i = 0; i < len; i += 1) {
464                 output.writeLong(a[i]);
465             }
466         }
467
468         @Override JavaDoc
469         int getPrimitiveLength() {
470             return 8;
471         }
472
473         @Override JavaDoc
474         void readPrimitiveField(Object JavaDoc o, EntityInput input, Field JavaDoc field)
475             throws IllegalAccessException JavaDoc {
476
477             field.setLong(o, input.readLong());
478         }
479
480         @Override JavaDoc
481         void writePrimitiveField(Object JavaDoc o, EntityOutput output, Field JavaDoc field)
482             throws IllegalAccessException JavaDoc {
483
484             output.writeLong(field.getLong(o));
485         }
486     }
487
488     public static class FFloat extends SimpleFormat {
489
490         private static final long serialVersionUID = 1033413049495053602L;
491
492         FFloat(boolean primitive) {
493             super(primitive ? Float.TYPE : Float JavaDoc.class, primitive);
494         }
495
496         @Override JavaDoc
497         Object JavaDoc newArray(int len) {
498             return new Float JavaDoc[len];
499         }
500
501         @Override JavaDoc
502         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
503             return Float.valueOf(input.readSortedFloat());
504         }
505
506         @Override JavaDoc
507         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
508             output.writeSortedFloat(((Number JavaDoc) o).floatValue());
509         }
510
511         @Override JavaDoc
512         void skipContents(RecordInput input) {
513             input.skipFast(4);
514         }
515
516         @Override JavaDoc
517         void copySecKey(RecordInput input, RecordOutput output) {
518             output.writeFast(input.readFast());
519             output.writeFast(input.readFast());
520             output.writeFast(input.readFast());
521             output.writeFast(input.readFast());
522         }
523
524         @Override JavaDoc
525         Object JavaDoc newPrimitiveArray(int len, EntityInput input) {
526             float[] a = new float[len];
527             for (int i = 0; i < len; i += 1) {
528                 a[i] = input.readSortedFloat();
529             }
530             return a;
531         }
532
533         @Override JavaDoc
534         void writePrimitiveArray(Object JavaDoc o, EntityOutput output) {
535             float[] a = (float[]) o;
536             int len = a.length;
537             output.writeArrayLength(len);
538             for (int i = 0; i < len; i += 1) {
539                 output.writeSortedFloat(a[i]);
540             }
541         }
542
543         @Override JavaDoc
544         int getPrimitiveLength() {
545             return 4;
546         }
547
548         @Override JavaDoc
549         void readPrimitiveField(Object JavaDoc o, EntityInput input, Field JavaDoc field)
550             throws IllegalAccessException JavaDoc {
551
552             field.setFloat(o, input.readSortedFloat());
553         }
554
555         @Override JavaDoc
556         void writePrimitiveField(Object JavaDoc o, EntityOutput output, Field JavaDoc field)
557             throws IllegalAccessException JavaDoc {
558
559             output.writeSortedFloat(field.getFloat(o));
560         }
561     }
562
563     public static class FDouble extends SimpleFormat {
564
565         private static final long serialVersionUID = 646904456811041423L;
566
567         FDouble(boolean primitive) {
568             super(primitive ? Double.TYPE : Double JavaDoc.class, primitive);
569         }
570
571         @Override JavaDoc
572         Object JavaDoc newArray(int len) {
573             return new Double JavaDoc[len];
574         }
575
576         @Override JavaDoc
577         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
578             return Double.valueOf(input.readSortedDouble());
579         }
580
581         @Override JavaDoc
582         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
583             output.writeSortedDouble(((Number JavaDoc) o).doubleValue());
584         }
585
586         @Override JavaDoc
587         void skipContents(RecordInput input) {
588             input.skipFast(8);
589         }
590
591         @Override JavaDoc
592         void copySecKey(RecordInput input, RecordOutput output) {
593             output.writeFast
594                 (input.getBufferBytes(), input.getBufferOffset(), 8);
595             input.skipFast(8);
596         }
597
598         @Override JavaDoc
599         Object JavaDoc newPrimitiveArray(int len, EntityInput input) {
600             double[] a = new double[len];
601             for (int i = 0; i < len; i += 1) {
602                 a[i] = input.readSortedDouble();
603             }
604             return a;
605         }
606
607         @Override JavaDoc
608         void writePrimitiveArray(Object JavaDoc o, EntityOutput output) {
609             double[] a = (double[]) o;
610             int len = a.length;
611             output.writeArrayLength(len);
612             for (int i = 0; i < len; i += 1) {
613                 output.writeSortedDouble(a[i]);
614             }
615         }
616
617         @Override JavaDoc
618         int getPrimitiveLength() {
619             return 8;
620         }
621
622         @Override JavaDoc
623         void readPrimitiveField(Object JavaDoc o, EntityInput input, Field JavaDoc field)
624             throws IllegalAccessException JavaDoc {
625
626             field.setDouble(o, input.readSortedDouble());
627         }
628
629         @Override JavaDoc
630         void writePrimitiveField(Object JavaDoc o, EntityOutput output, Field JavaDoc field)
631             throws IllegalAccessException JavaDoc {
632
633             output.writeSortedDouble(field.getDouble(o));
634         }
635     }
636
637     public static class FChar extends SimpleFormat {
638
639         private static final long serialVersionUID = -7609118195770005374L;
640
641         FChar(boolean primitive) {
642             super(primitive ? Character.TYPE : Character JavaDoc.class, primitive);
643         }
644
645         @Override JavaDoc
646         Object JavaDoc newArray(int len) {
647             return new Character JavaDoc[len];
648         }
649
650         @Override JavaDoc
651         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
652             return Character.valueOf(input.readChar());
653         }
654
655         @Override JavaDoc
656         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
657             output.writeChar(((Character JavaDoc) o).charValue());
658         }
659
660         @Override JavaDoc
661         void skipContents(RecordInput input) {
662             input.skipFast(2);
663         }
664
665         @Override JavaDoc
666         void copySecKey(RecordInput input, RecordOutput output) {
667             output.writeFast(input.readFast());
668             output.writeFast(input.readFast());
669         }
670
671         @Override JavaDoc
672         Object JavaDoc newPrimitiveArray(int len, EntityInput input) {
673             char[] a = new char[len];
674             for (int i = 0; i < len; i += 1) {
675                 a[i] = input.readChar();
676             }
677             return a;
678         }
679
680         @Override JavaDoc
681         void writePrimitiveArray(Object JavaDoc o, EntityOutput output) {
682             char[] a = (char[]) o;
683             int len = a.length;
684             output.writeArrayLength(len);
685             for (int i = 0; i < len; i += 1) {
686                 output.writeChar(a[i]);
687             }
688         }
689
690         @Override JavaDoc
691         int getPrimitiveLength() {
692             return 2;
693         }
694
695         @Override JavaDoc
696         void readPrimitiveField(Object JavaDoc o, EntityInput input, Field JavaDoc field)
697             throws IllegalAccessException JavaDoc {
698
699             field.setChar(o, input.readChar());
700         }
701
702         @Override JavaDoc
703         void writePrimitiveField(Object JavaDoc o, EntityOutput output, Field JavaDoc field)
704             throws IllegalAccessException JavaDoc {
705
706             output.writeChar(field.getChar(o));
707         }
708     }
709
710     public static class FString extends SimpleFormat {
711
712         private static final long serialVersionUID = 5710392786480064612L;
713
714         FString() {
715             super(String JavaDoc.class, false);
716         }
717
718         @Override JavaDoc
719         Object JavaDoc newArray(int len) {
720             return new String JavaDoc[len];
721         }
722
723         @Override JavaDoc
724         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
725             return input.readString();
726         }
727
728         @Override JavaDoc
729         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
730             output.writeString((String JavaDoc) o);
731         }
732
733         @Override JavaDoc
734         void skipContents(RecordInput input) {
735             input.skipFast(input.getStringByteLength());
736         }
737
738         @Override JavaDoc
739         void copySecKey(RecordInput input, RecordOutput output) {
740             int len = input.getStringByteLength();
741             output.writeFast
742                 (input.getBufferBytes(), input.getBufferOffset(), len);
743             input.skipFast(len);
744         }
745     }
746
747     public static class FBigInt extends SimpleFormat {
748
749         private static final long serialVersionUID = -5027098112507644563L;
750
751         FBigInt() {
752             super(BigInteger JavaDoc.class, false);
753         }
754
755         @Override JavaDoc
756         Object JavaDoc newArray(int len) {
757             return new BigInteger JavaDoc[len];
758         }
759
760         @Override JavaDoc
761         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
762             return input.readBigInteger();
763         }
764
765         @Override JavaDoc
766         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
767             output.writeBigInteger((BigInteger JavaDoc) o);
768         }
769
770         @Override JavaDoc
771         void skipContents(RecordInput input) {
772             input.skipFast(input.getBigIntegerByteLength());
773         }
774
775         @Override JavaDoc
776         void copySecKey(RecordInput input, RecordOutput output) {
777             int len = input.getBigIntegerByteLength();
778             output.writeFast
779                 (input.getBufferBytes(), input.getBufferOffset(), len);
780             input.skipFast(len);
781         }
782     }
783
784     public static class FDate extends SimpleFormat {
785
786         private static final long serialVersionUID = -5665773229869034145L;
787
788         FDate() {
789             super(Date JavaDoc.class, false);
790         }
791
792         @Override JavaDoc
793         Object JavaDoc newArray(int len) {
794             return new Date JavaDoc[len];
795         }
796
797         @Override JavaDoc
798         public Object JavaDoc newInstance(EntityInput input, boolean rawAccess) {
799             return new Date JavaDoc(input.readLong());
800         }
801
802         @Override JavaDoc
803         void writeObject(Object JavaDoc o, EntityOutput output, boolean rawAccess) {
804             output.writeLong(((Date JavaDoc) o).getTime());
805         }
806
807         @Override JavaDoc
808         void skipContents(RecordInput input) {
809             input.skipFast(8);
810         }
811
812         @Override JavaDoc
813         void copySecKey(RecordInput input, RecordOutput output) {
814             output.writeFast
815                 (input.getBufferBytes(), input.getBufferOffset(), 8);
816             input.skipFast(8);
817         }
818     }
819 }
820
Popular Tags