OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / libcore / luni / src / main / java / org / apache / harmony / nio / internal / ReadWriteFileChannel.java
1 /*
2  *  Licensed to the Apache Software Foundation (ASF) under one or more
3  *  contributor license agreements.  See the NOTICE file distributed with
4  *  this work for additional information regarding copyright ownership.
5  *  The ASF licenses this file to You under the Apache License, Version 2.0
6  *  (the "License"); you may not use this file except in compliance with
7  *  the License.  You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  */
17
18 /*
19  * Android Notice
20  * In this class the address length was changed from long to int.
21  * This is due to performance optimizations for the device.
22  */
23
24 package org.apache.harmony.nio.internal;
25
26 import java.io.IOException;
27 import java.nio.MappedByteBuffer;
28
29 public final class ReadWriteFileChannel extends FileChannelImpl {
30     public ReadWriteFileChannel(Object stream, int handle) {
31         super(stream, handle);
32     }
33
34     public final MappedByteBuffer map(MapMode mode, long position, long size) throws IOException {
35         openCheck();
36         if (mode == null) {
37             throw new NullPointerException();
38         }
39         if (position < 0 || size < 0 || size > Integer.MAX_VALUE) {
40             throw new IllegalArgumentException();
41         }
42         return mapImpl(mode, position, size);
43     }
44 }