2 * Copyright 2015-present Open Networking Foundation
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package io.atomix.storage.buffer;
18 import io.atomix.utils.concurrent.ReferenceManager;
20 import java.nio.ReadOnlyBufferException;
25 * @author <a href="http://github.com/kuujo">Jordan Halterman</a>
27 public class ReadOnlyBuffer extends AbstractBuffer {
28 private final Buffer root;
30 public ReadOnlyBuffer(Buffer buffer, ReferenceManager<Buffer> referenceManager) {
31 super(buffer.bytes(), referenceManager);
36 public boolean isDirect() {
37 return root.isDirect();
41 public boolean isFile() {
46 public boolean isReadOnly() {
51 public Buffer compact() {
52 throw new ReadOnlyBufferException();
56 protected void compact(int from, int to, int length) {
57 throw new ReadOnlyBufferException();
61 public Buffer duplicate() {
62 return new ReadOnlyBuffer(root, referenceManager);
66 public Buffer acquire() {
72 public boolean release() {
73 return root.release();
77 public Buffer zero(int offset, int length) {
78 throw new ReadOnlyBufferException();
82 public Buffer zero(int offset) {
83 throw new ReadOnlyBufferException();
87 public Buffer zero() {
88 throw new ReadOnlyBufferException();
92 public Buffer writeBoolean(int offset, boolean b) {
93 throw new ReadOnlyBufferException();
97 public Buffer write(Buffer buffer) {
98 throw new ReadOnlyBufferException();
102 public Buffer write(Bytes bytes) {
103 throw new ReadOnlyBufferException();
107 public Buffer write(Bytes bytes, int offset, int length) {
108 throw new ReadOnlyBufferException();
112 public Buffer write(int offset, Bytes bytes, int srcOffset, int length) {
113 throw new ReadOnlyBufferException();
117 public Buffer write(byte[] bytes) {
118 throw new ReadOnlyBufferException();
122 public Buffer write(byte[] bytes, int offset, int length) {
123 throw new ReadOnlyBufferException();
127 public Buffer write(int offset, byte[] bytes, int srcOffset, int length) {
128 throw new ReadOnlyBufferException();
132 public Buffer writeByte(int b) {
133 throw new ReadOnlyBufferException();
137 public Buffer writeByte(int offset, int b) {
138 throw new ReadOnlyBufferException();
142 public Buffer writeUnsignedByte(int b) {
143 throw new ReadOnlyBufferException();
147 public Buffer writeUnsignedByte(int offset, int b) {
148 throw new ReadOnlyBufferException();
152 public Buffer writeChar(char c) {
153 throw new ReadOnlyBufferException();
157 public Buffer writeChar(int offset, char c) {
158 throw new ReadOnlyBufferException();
162 public Buffer writeShort(short s) {
163 throw new ReadOnlyBufferException();
167 public Buffer writeShort(int offset, short s) {
168 throw new ReadOnlyBufferException();
172 public Buffer writeUnsignedShort(int s) {
173 throw new ReadOnlyBufferException();
177 public Buffer writeUnsignedShort(int offset, int s) {
178 throw new ReadOnlyBufferException();
182 public Buffer writeMedium(int m) {
183 throw new ReadOnlyBufferException();
187 public Buffer writeMedium(int offset, int m) {
188 throw new ReadOnlyBufferException();
192 public Buffer writeUnsignedMedium(int m) {
193 throw new ReadOnlyBufferException();
197 public Buffer writeUnsignedMedium(int offset, int m) {
198 throw new ReadOnlyBufferException();
202 public Buffer writeInt(int i) {
203 throw new ReadOnlyBufferException();
207 public Buffer writeInt(int offset, int i) {
208 throw new ReadOnlyBufferException();
212 public Buffer writeUnsignedInt(long i) {
213 throw new ReadOnlyBufferException();
217 public Buffer writeUnsignedInt(int offset, long i) {
218 throw new ReadOnlyBufferException();
222 public Buffer writeLong(long l) {
223 throw new ReadOnlyBufferException();
227 public Buffer writeLong(int offset, long l) {
228 throw new ReadOnlyBufferException();
232 public Buffer writeFloat(float f) {
233 throw new ReadOnlyBufferException();
237 public Buffer writeFloat(int offset, float f) {
238 throw new ReadOnlyBufferException();
242 public Buffer writeDouble(double d) {
243 throw new ReadOnlyBufferException();
247 public Buffer writeDouble(int offset, double d) {
248 throw new ReadOnlyBufferException();
252 public Buffer writeBoolean(boolean b) {
253 throw new ReadOnlyBufferException();
257 public Buffer writeUTF8(String s) {
258 throw new ReadOnlyBufferException();
262 public Buffer flush() {
263 throw new ReadOnlyBufferException();
267 public void close() {