📄 environment.java
字号:
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 + -