/* Copyright (c) 2008-2015, Avian Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. There is NO WARRANTY for this software. See license.txt for details. */ package java.nio; public abstract class Buffer { protected int capacity; protected int position; protected int limit; protected boolean readonly; public final int limit() { return limit; } public final int remaining() { return limit-position; } public final int position() { return position; } public final int capacity() { return capacity; } public final Buffer limit(int newLimit) { limit = newLimit; return this; } public final Buffer position(int newPosition) { position = newPosition; return this; } public final boolean hasRemaining() { return remaining() > 0; } public final Buffer clear() { position = 0; limit = capacity; return this; } public final Buffer flip() { limit = position; position = 0; return this; } public final Buffer rewind() { position = 0; return this; } public boolean isReadOnly() { return readonly; } }