Home | History | Annotate | Download | only in ch
      1 /*
      2  * Copyright 2016 The Android Open Source Project
      3  *
      4  * This code is free software; you can redistribute it and/or modify it
      5  * under the terms of the GNU General Public License version 2 only, as
      6  * published by the Free Software Foundation.  The Android Open Source
      7  * Project designates this particular file as subject to the "Classpath"
      8  * exception as provided by The Android Open Source Project in the LICENSE
      9  * file that accompanied this code.
     10  *
     11  * This code is distributed in the hope that it will be useful, but WITHOUT
     12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
     13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     14  * version 2 for more details (a copy is included in the LICENSE file that
     15  * accompanied this code).
     16  *
     17  * You should have received a copy of the GNU General Public License version
     18  * 2 along with this work; if not, write to the Free Software Foundation,
     19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
     20  */
     21 
     22 package sun.nio.ch;
     23 
     24 import java.io.FileDescriptor;
     25 import java.io.IOException;
     26 import java.io.InputStream;
     27 import java.io.OutputStream;
     28 import java.net.InetAddress;
     29 import java.net.Socket;
     30 import java.net.SocketAddress;
     31 import java.net.SocketException;
     32 import java.net.SocketImpl;
     33 
     34 /**
     35  * This class is only used for {@link SocketAdaptor} to be backward-compatible
     36  * with older Android versions which always set the {@code impl} field of
     37  * {@link Socket}. As such none of the methods in this class are implemented
     38  * since {@link SocketAdaptor} should override everything in {@link Socket}
     39  * which may access the {@code impl} field.
     40  */
     41 class FileDescriptorHolderSocketImpl extends SocketImpl {
     42     public FileDescriptorHolderSocketImpl(FileDescriptor fd) {
     43         this.fd = fd;
     44     }
     45 
     46     @Override
     47     public void setOption(int optID, Object value) throws SocketException {
     48         throw new UnsupportedOperationException();
     49     }
     50 
     51     @Override
     52     public Object getOption(int optID) throws SocketException {
     53         throw new UnsupportedOperationException();
     54     }
     55 
     56     @Override
     57     protected void create(boolean stream) throws IOException {
     58         throw new UnsupportedOperationException();
     59     }
     60 
     61     @Override
     62     protected void connect(String host, int port) throws IOException {
     63         throw new UnsupportedOperationException();
     64     }
     65 
     66     @Override
     67     protected void connect(InetAddress address, int port) throws IOException {
     68         throw new UnsupportedOperationException();
     69     }
     70 
     71     @Override
     72     protected void connect(SocketAddress address, int timeout) throws IOException {
     73         throw new UnsupportedOperationException();
     74     }
     75 
     76     @Override
     77     protected void bind(InetAddress host, int port) throws IOException {
     78         throw new UnsupportedOperationException();
     79     }
     80 
     81     @Override
     82     protected void listen(int backlog) throws IOException {
     83         throw new UnsupportedOperationException();
     84     }
     85 
     86     @Override
     87     protected void accept(SocketImpl s) throws IOException {
     88         throw new UnsupportedOperationException();
     89     }
     90 
     91     @Override
     92     protected InputStream getInputStream() throws IOException {
     93         throw new UnsupportedOperationException();
     94     }
     95 
     96     @Override
     97     protected OutputStream getOutputStream() throws IOException {
     98         throw new UnsupportedOperationException();
     99     }
    100 
    101     @Override
    102     protected int available() throws IOException {
    103         throw new UnsupportedOperationException();
    104     }
    105 
    106     @Override
    107     protected void close() throws IOException {
    108         throw new UnsupportedOperationException();
    109     }
    110 
    111     @Override
    112     protected void sendUrgentData(int data) throws IOException {
    113         throw new UnsupportedOperationException();
    114     }
    115 }
    116