001/*
002 * jPOS Project [http://jpos.org]
003 * Copyright (C) 2000-2026 jPOS Software SRL
004 *
005 * This program is free software: you can redistribute it and/or modify
006 * it under the terms of the GNU Affero General Public License as
007 * published by the Free Software Foundation, either version 3 of the
008 * License, or (at your option) any later version.
009 *
010 * This program is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
013 * GNU Affero General Public License for more details.
014 *
015 * You should have received a copy of the GNU Affero General Public License
016 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
017 */
018
019package org.jpos.iso;
020import java.io.IOException;
021
022/**
023 * JMX management interface for {@link BaseChannel}.
024 */
025public interface BaseChannelMBean {
026    /**
027     * Returns the remote host name or address.
028     * @return remote host
029     */
030    String getHost();
031    /**
032     * Sets the remote host name or address.
033     * @param host remote host
034     */
035    void setHost(String host);
036    /**
037     * Returns the remote port number.
038     * @return remote port
039     */
040    int    getPort();
041    /**
042     * Sets the remote port number.
043     * @param port remote port
044     */
045    void setPort(int port);
046    /**
047     * Returns true if the channel has an active connection.
048     * @return true if connected
049     */
050    boolean isConnected();
051    /**
052     * Establishes a connection.
053     * @throws IOException on connection failure
054     */
055    void connect() throws IOException;
056    /**
057     * Closes the connection.
058     * @throws IOException on close failure
059     */
060    void disconnect() throws IOException;
061    /**
062     * Reconnects the channel.
063     * @throws IOException on connection failure
064     */
065    void reconnect() throws IOException;
066}
067