2 * Copyright (C) 2014, United States Government, as represented by the
3 * Administrator of the National Aeronautics and Space Administration.
6 * The Java Pathfinder core (jpf-core) platform is licensed under the
7 * Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0.
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
20 public abstract class Buffer {
21 protected int position;
22 protected int capacity;
25 public final int capacity() {
29 public final Buffer position(int newPosition) {
30 if ((newPosition<0)||(newPosition>limit)) {
31 throw new IllegalArgumentException("Illegal buffer position exception: "+newPosition);
33 this.position = newPosition;
37 public final int position() {
41 public final int limit() {
45 public final Buffer limit(int newLimit) {
46 if ((newLimit<0)||(newLimit>capacity)) {
47 throw new IllegalArgumentException("Illegal buffer limit exception: "+newLimit);
49 this.limit = newLimit;
53 public final Buffer clear(){
59 public final Buffer flip() {
65 public final Buffer rewind() {
70 public final int remaining() {
71 return limit-position;
74 public final boolean hasRemaining() {
78 public abstract boolean hasArray();
80 public abstract Object array();