package com.GitHub.iPixeli.GenderBukkit;

import java.io.*;
import java.util.*;

public class GenderManager
{
    protected List <String>females = new ArrayList();
    private Gender plugin;
    
    public GenderManager(Gender gender)
    {
        this.plugin=gender;
    }
    
    protected boolean goFemaleFileInit()
    {
        File file = new File(plugin.dir, "ServerFemaleList.txt");
        if(file.exists()) file.delete();
        else if(!file.exists())
        {
            try
            {
                file.createNewFile();
            }
            catch(IOException ioexception)
            {
                System.out.println(plugin.prefix+"MPFemales IOException");
            }
        }
        try
        {
            if(!file.exists()) return false;
            BufferedReader bufferedreader = new BufferedReader(new FileReader(file));
            for(String s = ""; (s = bufferedreader.readLine()) != null;)
            {
                try
                {
                    females.add(s);
                }
                catch(Exception exception1)
                {
                    System.out.println(plugin.prefix+"Invalid username/value in MPFemales.txt");
                }
            }
        }
        catch(Exception exception)
        {
            System.out.println("Could not load MPFemales.txt");
        }
        System.out.println((new StringBuilder()).append(plugin.prefix+"Loaded MPFemales: ").append(females).toString());
        return true;
    }

    protected List getFemales()
    {
        return females;
    }

    protected String getFemalesToSend()
    {
        String names="iPixeli";
        for(String s : females) names=names+", "+s;
        return names;
    }
    
    protected boolean isFemale(String s)
    {
        return females.contains(s);
    }

    protected void addUser(String s)
    {
        if(!females.contains(s))
        {
            try
            {
                File file = new File(plugin.dir, "ServerFemaleList.txt");
                PrintWriter printwriter = new PrintWriter(new FileWriter(file));
                String s1;
                for(Iterator iterator = females.iterator(); iterator.hasNext(); printwriter.println((new StringBuilder()).append(s1)))
                {
                    s1 = (String)iterator.next();
                }
                printwriter.println((new StringBuilder()).append(s));
                printwriter.close();
                females.add(s);
            }
            catch(Exception exception)
            {
                System.out.println(plugin.prefix+"Failed while trying to add a user to ServerFemaleList.txt");
            }
        }else System.out.println((new StringBuilder()).append(plugin.prefix+"At least one username is already in MPFemales: ").append(females).toString());
    }

    protected void rmUser(String s)
    {
        if(females.contains(s))
        {
            try
            {
                File file = new File(plugin.dir, "ServerFemaleList.txt");
                PrintWriter printwriter = new PrintWriter(new FileWriter(file));
                Iterator iterator = females.iterator();
                do
                {
                    if(!iterator.hasNext()) break;
                    String s1 = (String)iterator.next();
                    if(s1 != s) printwriter.println((new StringBuilder()).append(s1));
                }while(true);
                printwriter.close();
                females.remove(s);
            }
            catch(Exception exception)
            {
                System.out.println(plugin.prefix+"Failed while trying to remove a user to ServerFemaleList.txt");
            }System.out.println((new StringBuilder()).append(plugin.prefix+"Loaded MPFemales: ").append(females).toString());
        }
    }
}
