From 168272ad3b9fca88c71897804db7125511689638 Mon Sep 17 00:00:00 2001 From: Shikhar Bhushan Date: Tue, 10 Aug 2010 00:30:59 +0100 Subject: [PATCH] simplify DisconnectReason enum --- .../schmizz/sshj/common/DisconnectReason.java | 49 ++++++++----------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/src/main/java/net/schmizz/sshj/common/DisconnectReason.java b/src/main/java/net/schmizz/sshj/common/DisconnectReason.java index 5712f4fe..58ad7125 100644 --- a/src/main/java/net/schmizz/sshj/common/DisconnectReason.java +++ b/src/main/java/net/schmizz/sshj/common/DisconnectReason.java @@ -18,39 +18,32 @@ package net.schmizz.sshj.common; /** Disconnect error codes */ public enum DisconnectReason { - UNKNOWN(0), - HOST_NOT_ALLOWED_TO_CONNECT(1), - PROTOCOL_ERROR(2), - KEY_EXCHANGE_FAILED(3), - HOST_AUTHENTICATION_FAILED(4), - RESERVED(4), - MAC_ERROR(5), - COMPRESSION_ERROR(6), - SERVICE_NOT_AVAILABLE(7), - PROTOCOL_VERSION_NOT_SUPPORTED(8), - HOST_KEY_NOT_VERIFIABLE(9), - CONNECTION_LOST(10), - BY_APPLICATION(11), - TOO_MANY_CONNECTIONS(12), - AUTH_CANCELLED_BY_USER(13), - NO_MORE_AUTH_METHODS_AVAILABLE(14), - ILLEGAL_USER_NAME(15); + UNKNOWN, + HOST_NOT_ALLOWED_TO_CONNECT, + PROTOCOL_ERROR, + KEY_EXCHANGE_FAILED, + RESERVED, + MAC_ERROR, + COMPRESSION_ERROR, + SERVICE_NOT_AVAILABLE, + PROTOCOL_VERSION_NOT_SUPPORTED, + HOST_KEY_NOT_VERIFIABLE, + CONNECTION_LOST, + BY_APPLICATION, + TOO_MANY_CONNECTIONS, + AUTH_CANCELLED_BY_USER, + NO_MORE_AUTH_METHODS_AVAILABLE, + ILLEGAL_USER_NAME; public static DisconnectReason fromInt(int code) { - for (DisconnectReason dc : values()) - if (dc.code == code) - return dc; - return UNKNOWN; - } - - private final int code; - - private DisconnectReason(int code) { - this.code = code; + final int len = values().length; + if (code < 0 || code > len) + return UNKNOWN; + return values()[code]; } public int toInt() { - return code; + return ordinal(); } }