001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one or more
003     * contributor license agreements.  See the NOTICE file distributed with
004     * this work for additional information regarding copyright ownership.
005     * The ASF licenses this file to You under the Apache License, Version 2.0
006     * (the "License"); you may not use this file except in compliance with
007     * the License.  You may obtain a copy of the License at
008     *
009     *      http://www.apache.org/licenses/LICENSE-2.0
010     *
011     * Unless required by applicable law or agreed to in writing, software
012     * distributed under the License is distributed on an "AS IS" BASIS,
013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     * See the License for the specific language governing permissions and
015     * limitations under the License.
016     */
017    
018    package org.apache.commons.net.telnet;
019    
020    /***
021     * Simple option handler that can be used for options
022     * that don't require subnegotiation.
023     * <p>
024     * @author Bruno D'Avanzo
025     ***/
026    public class SimpleOptionHandler extends TelnetOptionHandler
027    {
028        /***
029         * Constructor for the SimpleOptionHandler. Allows defining desired
030         * initial setting for local/remote activation of this option and
031         * behaviour in case a local/remote activation request for this
032         * option is received.
033         * <p>
034         * @param optcode - option code.
035         * @param initlocal - if set to true, a WILL is sent upon connection.
036         * @param initremote - if set to true, a DO is sent upon connection.
037         * @param acceptlocal - if set to true, any DO request is accepted.
038         * @param acceptremote - if set to true, any WILL request is accepted.
039         ***/
040        public SimpleOptionHandler(int optcode,
041                                    boolean initlocal,
042                                    boolean initremote,
043                                    boolean acceptlocal,
044                                    boolean acceptremote)
045        {
046            super(optcode, initlocal, initremote,
047                                          acceptlocal, acceptremote);
048        }
049    
050        /***
051         * Constructor for the SimpleOptionHandler. Initial and accept
052         * behaviour flags are set to false
053         * <p>
054         * @param optcode - option code.
055         ***/
056        public SimpleOptionHandler(int optcode)
057        {
058            super(optcode, false, false, false, false);
059        }
060    
061        /***
062         * Implements the abstract method of TelnetOptionHandler.
063         * <p>
064         * @param suboptionData - the sequence received, whithout IAC SB & IAC SE
065         * @param suboptionLength - the length of data in suboption_data
066         * <p>
067         * @return always null (no response to subnegotiation)
068         ***/
069        @Override
070        public int[] answerSubnegotiation(int suboptionData[], int suboptionLength)
071        {
072            return null;
073        }
074    
075        /***
076         * Implements the abstract method of TelnetOptionHandler.
077         * <p>
078         * @return always null (no response to subnegotiation)
079         ***/
080        @Override
081        public int[] startSubnegotiationLocal()
082        {
083            return null;
084        }
085    
086        /***
087         * Implements the abstract method of TelnetOptionHandler.
088         * <p>
089         * @return always null (no response to subnegotiation)
090         ***/
091        @Override
092        public int[] startSubnegotiationRemote()
093        {
094            return null;
095        }
096    }