History

Added some missing classes from java/nio, fixed some bad things

Dmitry Kabak (userdima committed 13 years ago

Commit 7d47bc81 parent b1be22084 files · +40111 −23Browse files

Showing the changes to java/pkg/java/nio/HeapLongBuffer.java (1 of 84 files). Show all

Unified · Split

java/pkg/java/nio/HeapLongBuffer.java+595−0
@@ -0,0 +1,595 @@
1+/*
2+ * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
3+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+ *
5+ * This code is free software; you can redistribute it and/or modify it
6+ * under the terms of the GNU General Public License version 2 only, as
7+ * published by the Free Software Foundation. Oracle designates this
8+ * particular file as subject to the "Classpath" exception as provided
9+ * by Oracle in the LICENSE file that accompanied this code.
10+ *
11+ * This code is distributed in the hope that it will be useful, but WITHOUT
12+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14+ * version 2 for more details (a copy is included in the LICENSE file that
15+ * accompanied this code).
16+ *
17+ * You should have received a copy of the GNU General Public License version
18+ * 2 along with this work; if not, write to the Free Software Foundation,
19+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20+ *
21+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22+ * or visit www.oracle.com if you need additional information or have any
23+ * questions.
24+ */
25+
26+// -- This file was mechanically generated: Do not edit! -- //
27+
28+package java.nio;
29+
30+
31+/**
32+
33+ * A read/write HeapLongBuffer.
34+
35+
36+
37+
38+
39+
40+ */
41+
42+class HeapLongBuffer
43+ extends LongBuffer
44+{
45+
46+ // For speed these fields are actually declared in X-Buffer;
47+ // these declarations are here as documentation
48+ /*
49+
50+ protected final long[] hb;
51+ protected final int offset;
52+
53+ */
54+
55+ HeapLongBuffer(int cap, int lim) { // package-private
56+
57+ super(-1, 0, lim, cap, new long[cap], 0);
58+ /*
59+ hb = new long[cap];
60+ offset = 0;
61+ */
62+
63+
64+
65+
66+ }
67+
68+ HeapLongBuffer(long[] buf, int off, int len) { // package-private
69+
70+ super(-1, off, off + len, buf.length, buf, 0);
71+ /*
72+ hb = buf;
73+ offset = 0;
74+ */
75+
76+
77+
78+
79+ }
80+
81+ protected HeapLongBuffer(long[] buf,
82+ int mark, int pos, int lim, int cap,
83+ int off)
84+ {
85+
86+ super(mark, pos, lim, cap, buf, off);
87+ /*
88+ hb = buf;
89+ offset = off;
90+ */
91+
92+
93+
94+
95+ }
96+
97+ public LongBuffer slice() {
98+ return new HeapLongBuffer(hb,
99+ -1,
100+ 0,
101+ this.remaining(),
102+ this.remaining(),
103+ this.position() + offset);
104+ }
105+
106+ public LongBuffer duplicate() {
107+ return new HeapLongBuffer(hb,
108+ this.markValue(),
109+ this.position(),
110+ this.limit(),
111+ this.capacity(),
112+ offset);
113+ }
114+
115+ public LongBuffer asReadOnlyBuffer() {
116+
117+ return new HeapLongBufferR(hb,
118+ this.markValue(),
119+ this.position(),
120+ this.limit(),
121+ this.capacity(),
122+ offset);
123+
124+
125+
126+ }
127+
128+
129+
130+ protected int ix(int i) {
131+ return i + offset;
132+ }
133+
134+ public long get() {
135+ return hb[ix(nextGetIndex())];
136+ }
137+
138+ public long get(int i) {
139+ return hb[ix(checkIndex(i))];
140+ }
141+
142+ public LongBuffer get(long[] dst, int offset, int length) {
143+ checkBounds(offset, length, dst.length);
144+ if (length > remaining())
145+ throw new BufferUnderflowException();
146+ System.arraycopy(hb, ix(position()), dst, offset, length);
147+ position(position() + length);
148+ return this;
149+ }
150+
151+ public boolean isDirect() {
152+ return false;
153+ }
154+
155+
156+
157+ public boolean isReadOnly() {
158+ return false;
159+ }
160+
161+ public LongBuffer put(long x) {
162+
163+ hb[ix(nextPutIndex())] = x;
164+ return this;
165+
166+
167+
168+ }
169+
170+ public LongBuffer put(int i, long x) {
171+
172+ hb[ix(checkIndex(i))] = x;
173+ return this;
174+
175+
176+
177+ }
178+
179+ public LongBuffer put(long[] src, int offset, int length) {
180+
181+ checkBounds(offset, length, src.length);
182+ if (length > remaining())
183+ throw new BufferOverflowException();
184+ System.arraycopy(src, offset, hb, ix(position()), length);
185+ position(position() + length);
186+ return this;
187+
188+
189+
190+ }
191+
192+ public LongBuffer put(LongBuffer src) {
193+
194+ if (src instanceof HeapLongBuffer) {
195+ if (src == this)
196+ throw new IllegalArgumentException();
197+ HeapLongBuffer sb = (HeapLongBuffer)src;
198+ int n = sb.remaining();
199+ if (n > remaining())
200+ throw new BufferOverflowException();
201+ System.arraycopy(sb.hb, sb.ix(sb.position()),
202+ hb, ix(position()), n);
203+ sb.position(sb.position() + n);
204+ position(position() + n);
205+ } else if (src.isDirect()) {
206+ int n = src.remaining();
207+ if (n > remaining())
208+ throw new BufferOverflowException();
209+ src.get(hb, ix(position()), n);
210+ position(position() + n);
211+ } else {
212+ super.put(src);
213+ }
214+ return this;
215+
216+
217+
218+ }
219+
220+ public LongBuffer compact() {
221+
222+ System.arraycopy(hb, ix(position()), hb, ix(0), remaining());
223+ position(remaining());
224+ limit(capacity());
225+ discardMark();
226+ return this;
227+
228+
229+
230+ }
231+
232+
233+
234+
235+
236+
237+
238+
239+
240+
241+
242+
243+
244+
245+
246+
247+
248+
249+
250+
251+
252+
253+
254+
255+
256+
257+
258+
259+
260+
261+
262+
263+
264+
265+
266+
267+
268+
269+
270+
271+
272+
273+
274+
275+
276+
277+
278+
279+
280+
281+
282+
283+
284+
285+
286+
287+
288+
289+
290+
291+
292+
293+
294+
295+
296+
297+
298+
299+
300+
301+
302+
303+
304+
305+
306+
307+
308+
309+
310+
311+
312+
313+
314+
315+
316+
317+
318+
319+
320+
321+
322+
323+
324+
325+
326+
327+
328+
329+
330+
331+
332+
333+
334+
335+
336+
337+
338+
339+
340+
341+
342+
343+
344+
345+
346+
347+
348+
349+
350+
351+
352+
353+
354+
355+
356+
357+
358+
359+
360+
361+
362+
363+
364+
365+
366+
367+
368+
369+
370+
371+
372+
373+
374+
375+
376+
377+
378+
379+
380+
381+
382+
383+
384+
385+
386+
387+
388+
389+
390+
391+
392+
393+
394+
395+
396+
397+
398+
399+
400+
401+
402+
403+
404+
405+
406+
407+
408+
409+
410+
411+
412+
413+
414+
415+
416+
417+
418+
419+
420+
421+
422+
423+
424+
425+
426+
427+
428+
429+
430+
431+
432+
433+
434+
435+
436+
437+
438+
439+
440+
441+
442+
443+
444+
445+
446+
447+
448+
449+
450+
451+
452+
453+
454+
455+
456+
457+
458+
459+
460+
461+
462+
463+
464+
465+
466+
467+
468+
469+
470+
471+
472+
473+
474+
475+
476+
477+
478+
479+
480+
481+
482+
483+
484+
485+
486+
487+
488+
489+
490+
491+
492+
493+
494+
495+
496+
497+
498+
499+
500+
501+
502+
503+
504+
505+
506+
507+
508+
509+
510+
511+
512+
513+
514+
515+
516+
517+
518+
519+
520+
521+
522+
523+
524+
525+
526+
527+
528+
529+
530+
531+
532+
533+
534+
535+
536+
537+
538+
539+
540+
541+
542+
543+
544+
545+
546+
547+
548+
549+
550+
551+
552+
553+
554+
555+
556+
557+
558+
559+
560+
561+
562+
563+
564+
565+
566+
567+
568+
569+
570+
571+
572+
573+
574+
575+
576+
577+
578+
579+
580+
581+
582+
583+
584+
585+
586+
587+
588+
589+ public ByteOrder order() {
590+ return ByteOrder.nativeOrder();
591+ }
592+
593+
594+
595+}