1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.api.ldap.model.message;
21
22
23
24
25
26
27
28 public class SearchResultReferenceImpl extends AbstractResponse implements SearchResultReference
29 {
30 static final long serialVersionUID = 7423807019951309810L;
31
32
33 private Referral referral = new ReferralImpl();
34
35
36
37
38
39
40 public SearchResultReferenceImpl()
41 {
42 super( -1, MessageTypeEnum.SEARCH_RESULT_REFERENCE );
43 }
44
45
46
47
48
49
50
51
52 public SearchResultReferenceImpl( final int id )
53 {
54 super( id, MessageTypeEnum.SEARCH_RESULT_REFERENCE );
55 }
56
57
58
59
60
61
62
63
64
65
66
67 public Referral getReferral()
68 {
69 return this.referral;
70 }
71
72
73
74
75
76
77
78 public void setReferral( Referral referral )
79 {
80 this.referral = referral;
81 }
82
83
84
85
86
87 @Override
88 public int hashCode()
89 {
90 int hash = 37;
91 if ( this.referral != null )
92 {
93 hash = hash * 17 + this.referral.hashCode();
94 }
95 hash = hash * 17 + super.hashCode();
96
97 return hash;
98 }
99
100
101
102
103
104
105
106
107
108 public boolean equals( Object obj )
109 {
110 if ( obj == this )
111 {
112 return true;
113 }
114
115 if ( !super.equals( obj ) )
116 {
117 return false;
118 }
119
120 SearchResultReference resp = ( SearchResultReference ) obj;
121
122 if ( this.referral != null && resp.getReferral() == null )
123 {
124 return false;
125 }
126
127 if ( this.referral == null && resp.getReferral() != null )
128 {
129 return false;
130 }
131
132 return ( this.referral == null || resp.getReferral() == null || this.referral.equals( resp.getReferral() ) );
133 }
134
135
136
137
138
139
140
141 public String toString()
142 {
143
144 StringBuilder sb = new StringBuilder();
145
146 sb.append( " Search Result Reference\n" );
147
148 if ( ( referral == null ) || ( referral.getLdapUrls() == null ) || ( referral.getLdapUrls().size() == 0 ) )
149 {
150 sb.append( " No Reference\n" );
151 }
152 else
153 {
154 sb.append( " References\n" );
155
156 for ( String url : referral.getLdapUrls() )
157 {
158 sb.append( " '" ).append( url ).append( "'\n" );
159 }
160 }
161
162 return super.toString( sb.toString() );
163 }
164 }