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

📄 ejbtargetmetadef.java

📁 用jbuilder写的源程序
💻 JAVA
字号:
/**
 * Copyright 2003-2006 the original author or authors.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.jdon.bussinessproxy.meta;

/**
 * EJB2 Service  META  definition 
 *
 */

public class EJBTargetMetaDef extends DistributedTargetMetaDef {

	private boolean isLocal = true;
	
	private String home;

	private String remote;

	private String local;

	/**
	 * remote EJB
	 */
	public EJBTargetMetaDef(String name, String p_jndiName,
			String p_homeClassName, String p_remoteClassName) {
		super(name, p_jndiName);
		this.home = p_homeClassName;
		this.remote = p_remoteClassName;
		this.isLocal = false;
	}

	/**
	 * local EJB
	 */
	public EJBTargetMetaDef(String name, String p_jndiName,
			String p_localClassName) {
		super(name, p_jndiName);
		this.local = p_localClassName;
	}
	
	public boolean isEJB() {
		return true;
	}

	public boolean isLocal() {
		return isLocal;
	}

	public Class getHomeClass() {
		try {
			return Class.forName(home);
		} catch (ClassNotFoundException ex) {
			throw new RuntimeException("Unable to load the class : " + home);
		}
	}

	public Class getRemoteClass() {
		try {
			return Class.forName(remote);
		} catch (ClassNotFoundException ex) {
			throw new RuntimeException("Unable to load the class : " + remote);
		}
	}

	public String getClassName() {
		if (isLocal)
			return getLocalName();
		else
			return getRemoteName();

	}

	public String getLocalName() {
		return local;
	}

	public String getRemoteName() {
		return remote;
	}

	public String getHomeName() {
		return home;
	}

	public boolean equals(Object obj) {
		if (obj instanceof EJBTargetMetaDef) {
			EJBTargetMetaDef definition = (EJBTargetMetaDef) obj;
			if (isLocal) {
				if (!(definition.getLocalName().equals(local))
						|| !(definition.getJndiName().equals(jndiName)))
					return false;

			} else {
				if (!(definition.getHomeName().equals(home))
						|| !(definition.getJndiName().equals(jndiName))
						|| !(definition.getRemoteName().equals(remote)))
					return false;
			}
			return true;
		}
		return false;
	}

	public String toString() {
		StringBuffer buffer = new StringBuffer("EJB");
		buffer.append(jndiName);
		buffer.append("Home/Local class :");
		if (isLocal)
			buffer.append(local);
		else
			buffer.append(home);

		return buffer.toString();
	}

	public int hashCode() {
		return jndiName.hashCode();
	}

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

	/**
	 * @param name
	 *            The name to set.
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * jndiName作为EJB的key
	 * @return String
	 */
	public String getCacheKey() {
		return jndiName;
	}

}

⌨️ 快捷键说明

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