⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 environment.java

📁 一个类似QQ的在线通讯聊天软件原码,适合初学者参考学习。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package openicq.management;

import java.util.ArrayList;
import java.util.Arrays;

import openicq.data.Resource;

import org.javalib.dynamic.localize.Localization;
import org.javalib.io.CryptFile;
import org.javalib.util.TitledList;

import JOscarLib.Core.OscarConnection;
import JOscarLib.Management.Contact;
import JOscarLib.Management.ContactList;
import JOscarLib.Tool.OscarInterface;

/**
 * The <code>Environment</code> class is the basic connection to the
 * environment of this application.
 * @author Hansgeorg Schwibbe
 * @copyright 2004
 */
public class Environment implements Oscar, Settings
{
  private Localization localization;

  private OscarConnection connection;

  private ContactList knownList;

  private ContactList unknownList;

  private ICQContact ownContact;

  private String password;

  private String loginHost;

  private int loginPort;

  private int loginMode;

  private int loginStatus;

  private int securityLevel;

  private boolean denyUnknown;

  private boolean soundEnabled;

  private boolean[] soundFlags;

  private String[] soundFileNames;

  /**
   * Initializes a new instance of the class <code>Environment</code>.
   */
  public Environment()
  {
    localization = null;
    connection = null;
    knownList = new ContactList();
    unknownList = new ContactList();
    ownContact = new ICQContact("");
    password = new String();
    loginHost = new String();
    loginPort = -1;
    loginMode = NOAUTO;
    loginStatus = 0;
    securityLevel = HIGH_SECURITY;
    denyUnknown = false;
    soundEnabled = true;
    soundFlags = new boolean[]
    {
     true,
     true,
     true
    };
    soundFileNames = new String[]
    {
     Resource.ICON_SOURCE_SOUNDS[0],
     Resource.ICON_SOURCE_SOUNDS[1],
     Resource.ICON_SOURCE_SOUNDS[2]
    };
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#addKnownContact(java.lang.String,
   *      java.lang.String, java.lang.String, java.lang.String,
   *      java.lang.String, boolean, boolean)
   */
  public void addKnownContact(String contactId, String nickName,
                              String firstName, String lastName, String email,
                              boolean isInVisibleList, boolean isInInvisibleList)
  {
    if (!knownList.contains(contactId))
    {
      Contact contact = new Contact(contactId);
      contact.setNickName(nickName);
      contact.setFirstName(firstName);
      contact.setLastName(lastName);
      contact.setEmail(email);
      contact.setIsInVisibleList(isInVisibleList);
      contact.setIsInInvisibleList(isInInvisibleList);
      knownList.addToContactList(contact);
      if (unknownList.contains(contactId))
      {
        unknownList.removeFromContactList(contact);
      }
    }
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#addKnownContact(JOscarLib.Management.Contact)
   */
  public void addKnownContact(Contact c)
  {
    addKnownContact(c.getContactId(), c.getNickName(), c.getFirstName(),
                    c.getLastName(), c.getEmail(), c.getIsInVisibleList(),
                    c.getIsInInvisibleList());
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#addUnknownContact(java.lang.String,
   *      java.lang.String, java.lang.String, java.lang.String,
   *      java.lang.String, boolean, boolean)
   */
  public void addUnknownContact(String contactId, String nickName,
                                String firstName, String lastName,
                                String email, boolean isInVisibleList,
                                boolean isInInvisibleList)
  {
    if (!knownList.contains(contactId) && !unknownList.contains(contactId))
    {
      Contact contact = new Contact(contactId);
      contact.setNickName(nickName);
      contact.setFirstName(firstName);
      contact.setLastName(lastName);
      contact.setEmail(email);
      contact.setIsInVisibleList(isInVisibleList);
      contact.setIsInInvisibleList(isInInvisibleList);
      unknownList.addToContactList(contact);
    }
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#addUnknownContact(JOscarLib.Management.Contact)
   */
  public void addUnknownContact(Contact c)
  {
    addUnknownContact(c.getContactId(), c.getNickName(), c.getFirstName(),
                      c.getLastName(), c.getEmail(), c.getIsInVisibleList(),
                      c.getIsInInvisibleList());
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#cleanUnknownList()
   */
  public void cleanUnknownList()
  {
    Contact unknownContact, knownContact;
    int outerSize, innerSize;
    outerSize = knownList.getContactListSize();
    for (int outer = 0; outer < outerSize; outer++)
    {
      knownContact = knownList.get(outer);
      innerSize = unknownList.getContactListSize();
      for (int inner = 0; inner < innerSize; inner++)
      {
        unknownContact = unknownList.get(inner);
        if (unknownContact.getContactId().equals(knownContact.getContactId()))
        {
          unknownList.removeFromContactList(unknownContact);
          inner--;
          break;
        }
      }
    }
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getChatName(JOscarLib.Management.Contact)
   */
  public String getChatName(Contact c)
  {
    TitledList localized = localization.getLocalizedList();
    if (!c.getNickName().equals(""))
    {
      return c.getNickName();
    }
    else if (!c.getFirstName().equals(""))
    {
      return c.getFirstName();
    }
    else if (!c.getLastName().equals(""))
    {
      return c.getLastName();
    }
    else
    {
      return localized.get("unnamedUser").toString();
    }
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getConnection()
   */
  public OscarConnection getConnection()
  {
    return connection;
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Settings#getDenyUnknown()
   */
  public boolean getDenyUnknown()
  {
    return denyUnknown;
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getDisplayName(JOscarLib.Management.Contact)
   */
  public String getDisplayName(Contact contact)
  {
    TitledList localized = localization.getLocalizedList();
    if (!contact.getNickName().equals(""))
    {
      return contact.getNickName() + " (" + contact.getContactId() + ")";
    }
    else if (!contact.getFirstName().equals(""))
    {
      return contact.getFirstName() + " (" + contact.getContactId() + ")";
    }
    else if (!contact.getLastName().equals(""))
    {
      return contact.getLastName() + " (" + contact.getContactId() + ")";
    }
    else
    {
      return localized.get("unnamedUser").toString() + " ("
             + contact.getContactId() + ")";
    }
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getHost()
   */
  public String getHost()
  {
    return loginHost;
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getKnownList()
   */
  public ContactList getKnownList()
  {
    return knownList;
  }

  /**
   * Returns the name of the current localization.
   * @return the name of the current localization
   */
  public String getLocalizationName()
  {
    return localization.getName();
  }

  /**
   * Returns the localized list of the current localization.
   * @return the localized list of the current localization
   */
  public TitledList getLocalizedList()
  {
    return localization.getLocalizedList();
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getLoginMode()
   */
  public int getLoginMode()
  {
    return loginMode;
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getLoginStatus()
   */
  public int getLoginStatus()
  {
    return loginStatus;
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getOwnContact()
   */
  public ICQContact getOwnContact()
  {
    return ownContact;
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getPassword()
   */
  public String getPassword()
  {
    return password;
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Oscar#getPort()
   */
  public int getPort()
  {
    return loginPort;
  }

  /**
   * (non-Javadoc)
   * @see openicq.management.Settings#getSecurityLevel()
   */
  public int getSecurityLevel()
  {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -