001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018 package org.apache.geronimo.connector.outbound;
019
020 /**
021 * ConnectionInfo.java
022 *
023 *
024 * Created: Thu Sep 25 14:29:07 2003
025 *
026 * @version 1.0
027 */
028 public class ConnectionInfo {
029
030 private ManagedConnectionInfo mci;
031 private Object connection;
032 private Object connectionProxy;
033 private boolean unshareable;
034 private boolean applicationManagedSecurity;
035 private Exception trace;
036
037 public ConnectionInfo() {
038 } // ConnectionInfo constructor
039
040 public ConnectionInfo(ManagedConnectionInfo mci) {
041 this.mci = mci;
042 }
043
044 /**
045 * Get the Mci value.
046 * @return the Mci value.
047 */
048 public ManagedConnectionInfo getManagedConnectionInfo() {
049 return mci;
050 }
051
052 /**
053 * Set the Mci value.
054 * @param mci The new Mci value.
055 */
056 public void setManagedConnectionInfo(ManagedConnectionInfo mci) {
057 this.mci = mci;
058 }
059
060 /**
061 * Get the Connection value.
062 * @return the Connection value.
063 */
064 public Object getConnectionHandle() {
065 return connection;
066 }
067
068 /**
069 * Set the Connection value.
070 * @param connection The new Connection value.
071 */
072 public void setConnectionHandle(Object connection) {
073 assert this.connection == null;
074 this.connection = connection;
075 }
076
077 public Object getConnectionProxy() {
078 return connectionProxy;
079 }
080
081 public void setConnectionProxy(Object connectionProxy) {
082 this.connectionProxy = connectionProxy;
083 }
084
085 public boolean isUnshareable() {
086 return unshareable;
087 }
088
089 public void setUnshareable(boolean unshareable) {
090 this.unshareable = unshareable;
091 }
092
093 public boolean isApplicationManagedSecurity() {
094 return applicationManagedSecurity;
095 }
096
097 public void setApplicationManagedSecurity(boolean applicationManagedSecurity) {
098 this.applicationManagedSecurity = applicationManagedSecurity;
099 }
100
101 public boolean equals(Object obj) {
102 if (obj == this) {
103 return true;
104 }
105 if (obj instanceof ConnectionInfo) {
106 ConnectionInfo other = (ConnectionInfo) obj;
107 return (connection == other.connection)
108 && (mci == other.mci);
109 }
110 return false;
111 }
112
113 public int hashCode() {
114 return ((connection != null) ? connection.hashCode() : 7) ^
115 ((mci != null) ? mci.hashCode() : 7);
116 }
117
118 public void setTrace() {
119 this.trace = new Exception("Stack Trace");
120 }
121
122 public Exception getTrace() {
123 return trace;
124 }
125
126
127
128 } // ConnectionInfo