    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     * Implements the telnet echo option RFC 857.
    022     * <p>
    023     * @author Bruno D'Avanzo
    024     ***/
    025    public class EchoOptionHandler extends TelnetOptionHandler
    026    {
    027        /***
    028         * Constructor for the EchoOptionHandler. Allows defining desired
    029         * initial setting for local/remote activation of this option and
    030         * behaviour in case a local/remote activation request for this
    031         * option is received.
    032         * <p>
    033         * @param initlocal - if set to true, a WILL is sent upon connection.
    034         * @param initremote - if set to true, a DO is sent upon connection.
    035         * @param acceptlocal - if set to true, any DO request is accepted.
    036         * @param acceptremote - if set to true, any WILL request is accepted.
    037         ***/
    038        public EchoOptionHandler(boolean initlocal, boolean initremote,
    039                                    boolean acceptlocal, boolean acceptremote)
    040        {
    041            super(TelnetOption.ECHO, initlocal, initremote,
    042                                          acceptlocal, acceptremote);
    043        }
    044
    045        /***
    046         * Constructor for the EchoOptionHandler. Initial and accept
    047         * behaviour flags are set to false
    048         ***/
    049        public EchoOptionHandler()
    050        {
    051            super(TelnetOption.ECHO, false, false, false, false);
    052        }
    053
    054        /***
    055         * Implements the abstract method of TelnetOptionHandler.
    056         * <p>
    057         * @param suboptionData - the sequence received, whithout IAC SB & IAC SE
    058         * @param suboptionLength - the length of data in suboption_data
    059         * <p>
    060         * @return always null (no response to subnegotiation)
    061         ***/
    062        @Override
    063        public int[] answerSubnegotiation(int suboptionData[],
    064                                            int suboptionLength)
    065        {
    066            return null;
    067        }
    068
    069        /***
    070         * Implements the abstract method of TelnetOptionHandler.
    071         * <p>
    072         * @return always null (no response to subnegotiation)
    073         ***/
    074        @Override
    075        public int[] startSubnegotiationLocal()
    076        {
    077            return null;
    078        }
    079
    080        /***
    081         * Implements the abstract method of TelnetOptionHandler.
    082         * <p>
    083         * @return always null (no response to subnegotiation)
    084         ***/
    085        @Override
    086        public int[] startSubnegotiationRemote()
    087        {
    088            return null;
    089        }
    090    }