Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * h2spatial is a library that brings spatial support to the H2 Java database.
   *
   * h2spatial is distributed under GPL 3 license. It is produced by the "Atelier SIG"
   * team of the IRSTV Institute <http://www.irstv.fr/> CNRS FR 2488.
   *
   * Copyright (C) 2007-2014 IRSTV (FR CNRS 2488)
   *
   * h2patial is free software: you can redistribute it and/or modify it under the
  * terms of the GNU General Public License as published by the Free Software
  * Foundation, either version 3 of the License, or (at your option) any later
  * version.
  *
  * h2spatial is distributed in the hope that it will be useful, but WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License along with
  * h2spatial. If not, see <http://www.gnu.org/licenses/>.
  *
  * For more information, please consult: <http://www.orbisgis.org/>
  * or contact directly:
  * info_at_ orbisgis.org
  */
 package org.h2gis.drivers.utility;
 
Class to write files using nio.

Author(s):
Fernando Gonzalez Cortes
 
 public final class WriteBufferManager {
 
 	private static final int BUFFER_SIZE = 1024 * 128;
 
 	private FileChannel channel;
 
 	private ByteBuffer buffer;

Creates a new WriteBufferManager that writes to the specified file channel

Parameters:
channel
Throws:
java.io.IOException
 
 	public WriteBufferManager(FileChannel channelthrows IOException {
 		this. = channel;
 		 = ByteBuffer.allocate();
 	}

Puts the specified byte at the current position

Parameters:
b
Throws:
java.io.IOException
 
 	public void put(byte bthrows IOException {
 		.put(b);
 	}

Moves the window

Parameters:
numBytes
Throws:
java.io.IOException
 
 	private void prepareToAddBytes(int numBytesthrows IOException {
 		if (.remaining() < numBytes) {
 
 			int bufferCapacity = Math.max(numBytes);
 			if (bufferCapacity != .capacity()) {
 				ByteOrder order = .order();
 				 = ByteBuffer.allocate(bufferCapacity);
 				.order(order);
 			} else {
 			}
 		}
 	}

Puts the specified bytes at the current position

Parameters:
bs
Throws:
java.io.IOException
 
 	public void put(byte[] bsthrows IOException {
 		prepareToAddBytes(bs.length);
 		.put(bs);
 	}

flushes the cached contents into the channel. It is mandatory to call this method to finish the writing of the channel

	public void flush() throws IOException {
	}

Specifies the byte order. One of the constants in java.nio.ByteBuffer

Parameters:
order
	public void order(ByteOrder order) {
		this..order(order);
	}

Puts the specified int at the current position

Parameters:
value
Throws:
java.io.IOException
	public void putInt(int valuethrows IOException {
		.putInt(value);
	}

Puts the specified double at the current position

Parameters:
d
Throws:
java.io.IOException
	public void putDouble(double dthrows IOException {
	}
New to GrepCode? Check out our FAQ X