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