001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019 020 021 package org.apache.geronimo.j2ee.annotation; 022 023 import java.io.Serializable; 024 025 /** 026 * @version $Rev: 706640 $ $Date: 2008-10-21 14:44:05 +0000 (Tue, 21 Oct 2008) $ 027 */ 028 public class Injection implements Serializable { 029 030 private final String targetClassName; 031 private final String targetName; 032 private final String jndiName; 033 034 035 public Injection(String targetClassName, String targetName, String jndiName) { 036 this.targetClassName = targetClassName; 037 this.targetName = targetName; 038 this.jndiName = jndiName; 039 } 040 041 042 public String getTargetClassName() { 043 return targetClassName; 044 } 045 046 public String getTargetName() { 047 return targetName; 048 } 049 050 public String getJndiName() { 051 return jndiName; 052 } 053 054 public String toString() { 055 StringBuffer buf = new StringBuffer(); 056 buf.append(targetClassName).append(" "); 057 buf.append(targetName).append(" "); 058 buf.append(jndiName); 059 return buf.toString(); 060 } 061 062 public int hashCode() { 063 final int prime = 31; 064 int result = 1; 065 result = prime * result + ((jndiName == null) ? 0 : jndiName.hashCode()); 066 result = prime * result + ((targetClassName == null) ? 0 : targetClassName.hashCode()); 067 result = prime * result + ((targetName == null) ? 0 : targetName.hashCode()); 068 return result; 069 } 070 071 public boolean equals(Object obj) { 072 if (this == obj) { 073 return true; 074 } 075 if (obj == null) { 076 return false; 077 } 078 if (getClass() != obj.getClass()) { 079 return false; 080 } 081 final Injection other = (Injection) obj; 082 if (jndiName == null) { 083 if (other.jndiName != null) { 084 return false; 085 } 086 } else if (!jndiName.equals(other.jndiName)) { 087 return false; 088 } 089 if (targetClassName == null) { 090 if (other.targetClassName != null) { 091 return false; 092 } 093 } else if (!targetClassName.equals(other.targetClassName)) { 094 return false; 095 } 096 if (targetName == null) { 097 if (other.targetName != null) { 098 return false; 099 } 100 } else if (!targetName.equals(other.targetName)) { 101 return false; 102 } 103 104 return true; 105 } 106 107 }