package org.jboss.resource.adapter.jms;
import javax.jms.Queue;
import javax.jms.Topic;
import javax.resource.ResourceException;
import org.jboss.util.Strings;
public class JmsMCFProperties
implements java.io.Serializable
{
static final long serialVersionUID = -7997396849692340121L;
public static final String QUEUE_TYPE = Queue.class.getName();
public static final String TOPIC_TYPE = Topic.class.getName();
String userName;
String password;
String clientID;
String providerJNDI = "java:DefaultJMSProvider";
int type = JmsConnectionFactory.BOTH;
public JmsMCFProperties()
{
}
public void setUserName(final String userName)
{
this.userName = userName;
}
public String getUserName()
{
return userName;
}
public void setPassword(final String password)
{
this.password = password;
}
public String getPassword()
{
return password;
}
public String getClientID()
{
return clientID;
}
public void setClientID(final String clientID)
{
this.clientID = clientID;
}
public void setProviderJNDI(final String providerJNDI)
{
this.providerJNDI = providerJNDI;
}
public String getProviderJNDI()
{
return providerJNDI;
}
public int getType()
{
return type;
}
public void setType(int type)
{
this.type = type;
}
public void setSessionDefaultType(String type) throws ResourceException
{
if (type.equals(QUEUE_TYPE))
this.type = JmsConnectionFactory.QUEUE;
else if(type.equals(TOPIC_TYPE))
this.type = JmsConnectionFactory.TOPIC;
else
this.type = JmsConnectionFactory.BOTH;
}
public String getSessionDefaultType()
{
if (type == JmsConnectionFactory.BOTH)
return "both";
else if (type == JmsConnectionFactory.QUEUE)
return TOPIC_TYPE;
else
return QUEUE_TYPE;
}
public boolean equals(Object obj)
{
if (obj == null) return false;
if (obj instanceof JmsMCFProperties)
{
JmsMCFProperties you = (JmsMCFProperties) obj;
return (Strings.compare(userName, you.getUserName()) &&
Strings.compare(password, you.getPassword()) &&
Strings.compare(providerJNDI, you.getProviderJNDI()) &&
this.type == you.type);
}
return false;
}
public int hashCode()
{
String result = "" + userName + password + providerJNDI + type;
return result.hashCode();
}
}