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
018package 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 ***/
026public 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}