    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    }