/*
** j###t ########## #### ####
** j###t ########## #### ####
** j###T "###L J###"
** ######P' ########## #########
** ######k, ########## T######T
** ####~###L ####
** #### q###L ########## .#####
** #### \###L ########## #####"
**
** Class: dissolve
**
** Class History
**
** Date Name EditMotd
** ---------|------------|-----------------------------------------------
** 20Jul97 snapper finally added this header
** 20Jul97 snapper added logging
*/
package key.commands.clan;
import key.*;
import java.util.StringTokenizer;
import java.io.IOException;
import java.util.Enumeration;
/**
* Just an advanced create command intended for those
* intended to make clans, of such...
*/
public class Dissolve extends Command
{
public Dissolve()
{
setKey( "dissolve" );
usage = "<rank>";
}
public void run( Player p, StringTokenizer args, String fullLine, CategoryCommand caller, InteractiveConnection ic, Flags flags ) throws IOException
{
if( !args.hasMoreTokens() )
{
usage( ic );
return;
}
String dissolveRank = args.nextToken();
Clan currentClan = (Clan) p.getClan();
Rank targetRank = (Rank)currentClan.ranks.getElement( dissolveRank );
if( targetRank == null )
{
ic.sendError( "Your clan does not have that rank." );
return;
}
try
{
currentClan.ranks.remove( targetRank );
}
catch( BadKeyException t )
{
throw new UnexpectedResult( t.toString() + " on removing a matched atom" );
}
catch( NonUniqueKeyException t )
{
throw new UnexpectedResult( t.toString() + " on removing a matched atom" );
}
ic.sendFeedback( "You dissolve the '" + dissolveRank + "' rank." );
Log.log( "clans/" + p.getClan().getName() + ".notes" , "'" + p.getName() + "' dissolved rank '" + dissolveRank + "'" );
}
}