From d73fb78686e827360d90d91483e17c9ebd04e462 Mon Sep 17 00:00:00 2001 From: Frankie B Date: Fri, 10 May 2024 01:12:35 +0100 Subject: Implement remaining client commands, organize into packages --- src/com/wilko/jaim/responses/EvilTocResponse.java | 127 ++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 src/com/wilko/jaim/responses/EvilTocResponse.java (limited to 'src/com/wilko/jaim/responses/EvilTocResponse.java') diff --git a/src/com/wilko/jaim/responses/EvilTocResponse.java b/src/com/wilko/jaim/responses/EvilTocResponse.java new file mode 100644 index 0000000..60ee5a9 --- /dev/null +++ b/src/com/wilko/jaim/responses/EvilTocResponse.java @@ -0,0 +1,127 @@ +/* + * (C) 2002 Paul Wilkinson wilko@users.sourceforge.net + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +/* + * EvilTocResponse.java + * + * Created on 6 May 2002, 16:49 + */ + +package com.wilko.jaim.responses; + +import com.wilko.jaim.JaimEventListener; + +import java.util.StringTokenizer; + +/** + * An EvilTocResponse is delivered to a {@link JaimEventListener } when the signed on buddy is "eviled" or warned + * + * @author paulw + * @version $Revision: 1.6 $ + */ +public class EvilTocResponse extends TocResponse implements TocResponseHandler { + + public static final String RESPONSE_TYPE = "EVILED"; + private boolean anonymousEvil; + private int evilAmount; + private String evilBy; + + /** + * Creates new EvilTocResponse + */ + public EvilTocResponse() { + anonymousEvil = true; + evilBy = ""; + evilAmount = 0; + } + + /** + * Parse the evil message from the TOC server + * + * @param str The evil message + */ + public TocResponse parseString(java.lang.String str) { + EvilTocResponse tr = new EvilTocResponse(); + tr.doParse(str); + return (tr); + } + + private void doParse(String str) { + + StringTokenizer st = new StringTokenizer(str, ":"); + + st.nextToken(); // skip over "EVILED" + evilAmount = Integer.parseInt(st.nextToken()); + if (st.hasMoreTokens()) { + evilBy = st.nextToken(); + anonymousEvil = false; + } else { + anonymousEvil = true; + } + } + + /** + * Get the evil amount from this response. This is the current evil or warning level for the authenticated buddy, not the increment specified by the last warning + * + * @return The cumulative evil or warning level + */ + public int getEvilAmount() { + return (evilAmount); + } + + /** + * Obtain the name of the buddy that issued the warning. + * + * @return The buddy name that issued the warning + * @see #isAnonymous + */ + public String getEvilBy() { + return (evilBy); + } + + /** + * Obtain the anonymous status of this warning + * + * @return true if this warning was issued anonymously + */ + public boolean isAnonymous() { + return (anonymousEvil); + } + + /** + * Used by the response dispatcher + * + * @return The response type + */ + public String getResponseType() { + return RESPONSE_TYPE; + } + + + /** + * Returns true if this response handler can handle the specified response. + * + * @param Response - the response string from TOC. This is the part of the response before the first ':' + * @return true if the response can be handled + */ + public boolean canHandle(String Response) { + return (Response.equalsIgnoreCase(RESPONSE_TYPE)); + } + +} -- cgit v1.2.3-54-g00ecf