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

📄 ejbtargetmetadef.java

📁 Java/J2EE框架Jdon-Framework系统的Sample
💻 JAVA
字号:
/**
 * Copyright 2005 Jdon.com
 * 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;

import com.jdon.bussinessproxy.*;



/**
 * EJB META
 * 实际是ServiceMeta类
 * 关于请求的真正BackService描述
 *
 */

public class EJBTargetMetaDef implements TargetMetaDef {

  private String visitableName;
  private boolean isLocal = true;

  private String jndiName;
  private String home;
  private String remote;
  private String local;

  private MethodMetaArgs methodMetaDef;

  public void setVisitableName(String visitableName){
    this.visitableName = visitableName;
  }

  public void setMethodMetaArgs(MethodMetaArgs methodMetaDef) {
    this.methodMetaDef = methodMetaDef;
    this.methodMetaDef.setTargetMetaDef(this);
  }

  public EJBTargetMetaDef(String p_jndiName, String p_homeClassName,
                    String p_remoteClassName) {
    jndiName = p_jndiName;
    home = p_homeClassName;
    remote = p_remoteClassName;
    isLocal = false;
  }

  public EJBTargetMetaDef(String p_jndiName, String p_localClassName) {
    jndiName = p_jndiName;
    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 String getJndiName() {
    return jndiName;
  }

  public String getVisitableName() {
    return visitableName;
  }

  public MethodMetaArgs getMethodMetaArgs() {
    return methodMetaDef;
  }

  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();
  }

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


}

⌨️ 快捷键说明

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