Here you can find the source of expand(ByteBuffer buffer, int newCapacity)
Parameter | Description |
---|---|
buffer | The buffer from which to copy the contents |
newCapacity | The new capacity size |
public static ByteBuffer expand(ByteBuffer buffer, int newCapacity)
//package com.java2s; /*/*from w ww . j av a 2 s . co m*/ * Copyright 2008-2013 LinkedIn, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ import java.nio.ByteBuffer; public class Main { /** * If we have no more room in the current buffer, then double our capacity * and copy the current buffer to the new one. * <p/> * Note: the new buffer is allocated using ByteBuffer.allocate. * * @param buffer The buffer from which to copy the contents * @param newCapacity The new capacity size */ public static ByteBuffer expand(ByteBuffer buffer, int newCapacity) { if (newCapacity < buffer.capacity()) throw new IllegalArgumentException("newCapacity (" + newCapacity + ") must be larger than existing capacity (" + buffer.capacity() + ")"); ByteBuffer newBuffer = ByteBuffer.allocate(newCapacity); int position = buffer.position(); buffer.rewind(); newBuffer.put(buffer); newBuffer.position(position); return newBuffer; } }