001/*
002 * Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
003 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004 *
005 * This code is free software; you can redistribute it and/or modify it
006 * under the terms of the GNU General Public License version 2 only, as
007 * published by the Free Software Foundation. Sun designates this
008 * particular file as subject to the "Classpath" exception as provided
009 * by Sun in the LICENSE file that accompanied this code.
010 *
011 * This code is distributed in the hope that it will be useful, but WITHOUT
012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014 * version 2 for more details (a copy is included in the LICENSE file that
015 * accompanied this code).
016 *
017 * You should have received a copy of the GNU General Public License version
018 * 2 along with this work; if not, write to the Free Software Foundation,
019 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020 *
021 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022 * CA 95054 USA or visit www.sun.com if you need additional information or
023 * have any questions.
024 */
025
026#warn This file is preprocessed before being compiled
027
028class XXX {
029
030#begin
031
032 /**
033 * Relative <i>get</i> method for reading $a$ $type$ value.
034 *
035 * <p> Reads the next $nbytes$ bytes at this buffer's current position,
036 * composing them into $a$ $type$ value according to the current byte order,
037 * and then increments the position by $nbytes$. </p>
038 *
039 * @return The $type$ value at the buffer's current position
040 *
041 * @throws BufferUnderflowException
042 * If there are fewer than $nbytes$ bytes
043 * remaining in this buffer
044 */
045 public abstract $type$ get$Type$();
046
047 /**
048 * Relative <i>put</i> method for writing $a$ $type$
049 * value <i>(optional operation)</i>.
050 *
051 * <p> Writes $nbytes$ bytes containing the given $type$ value, in the
052 * current byte order, into this buffer at the current position, and then
053 * increments the position by $nbytes$. </p>
054 *
055 * @param value
056 * The $type$ value to be written
057 *
058 * @return This buffer
059 *
060 * @throws BufferOverflowException
061 * If there are fewer than $nbytes$ bytes
062 * remaining in this buffer
063 *
064 * @throws ReadOnlyBufferException
065 * If this buffer is read-only
066 */
067 public abstract ByteBuffer put$Type$($type$ value);
068
069 /**
070 * Absolute <i>get</i> method for reading $a$ $type$ value.
071 *
072 * <p> Reads $nbytes$ bytes at the given index, composing them into a
073 * $type$ value according to the current byte order. </p>
074 *
075 * @param index
076 * The index from which the bytes will be read
077 *
078 * @return The $type$ value at the given index
079 *
080 * @throws IndexOutOfBoundsException
081 * If <tt>index</tt> is negative
082 * or not smaller than the buffer's limit,
083 * minus $nbytesButOne$
084 */
085 public abstract $type$ get$Type$(int index);
086
087 /**
088 * Absolute <i>put</i> method for writing $a$ $type$
089 * value <i>(optional operation)</i>.
090 *
091 * <p> Writes $nbytes$ bytes containing the given $type$ value, in the
092 * current byte order, into this buffer at the given index. </p>
093 *
094 * @param index
095 * The index at which the bytes will be written
096 *
097 * @param value
098 * The $type$ value to be written
099 *
100 * @return This buffer
101 *
102 * @throws IndexOutOfBoundsException
103 * If <tt>index</tt> is negative
104 * or not smaller than the buffer's limit,
105 * minus $nbytesButOne$
106 *
107 * @throws ReadOnlyBufferException
108 * If this buffer is read-only
109 */
110 public abstract ByteBuffer put$Type$(int index, $type$ value);
111
112 /**
113 * Creates a view of this byte buffer as $a$ $type$ buffer.
114 *
115 * <p> The content of the new buffer will start at this buffer's current
116 * position. Changes to this buffer's content will be visible in the new
117 * buffer, and vice versa; the two buffers' position, limit, and mark
118 * values will be independent.
119 *
120 * <p> The new buffer's position will be zero, its capacity and its limit
121 * will be the number of bytes remaining in this buffer divided by
122 * $nbytes$, and its mark will be undefined. The new buffer will be direct
123 * if, and only if, this buffer is direct, and it will be read-only if, and
124 * only if, this buffer is read-only. </p>
125 *
126 * @return A new $type$ buffer
127 */
128 public abstract $Type$Buffer as$Type$Buffer();
129
130#end
131
132}
|