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 @Override
68 public Referral getReferral()
69 {
70 return this.referral;
71 }
72
73
74
75
76
77
78
79 @Override
80 public void setReferral( Referral referral )
81 {
82 this.referral = referral;
83 }
84
85
86
87
88
89 @Override
90 public int hashCode()
91 {
92 int hash = 37;
93 if ( this.referral != null )
94 {
95 hash = hash * 17 + this.referral.hashCode();
96 }
97 hash = hash * 17 + super.hashCode();
98
99 return hash;
100 }
101
102
103
104
105
106
107
108
109
110 @Override
111 public boolean equals( Object obj )
112 {
113 if ( obj == this )
114 {
115 return true;
116 }
117
118 if ( !super.equals( obj ) )
119 {
120 return false;
121 }
122
123 SearchResultReference resp = ( SearchResultReference ) obj;
124
125 if ( referral != null && resp.getReferral() == null )
126 {
127 return false;
128 }
129
130 if ( referral == null && resp.getReferral() != null )
131 {
132 return false;
133 }
134
135 return referral == null || resp.getReferral() == null || referral.equals( resp.getReferral() );
136 }
137
138
139
140
141
142
143
144 @Override
145 public String toString()
146 {
147
148 StringBuilder sb = new StringBuilder();
149
150 sb.append( " Search Result Reference\n" );
151
152 if ( ( referral == null ) || ( referral.getLdapUrls() == null ) || referral.getLdapUrls().isEmpty() )
153 {
154 sb.append( " No Reference\n" );
155 }
156 else
157 {
158 sb.append( " References\n" );
159
160 for ( String url : referral.getLdapUrls() )
161 {
162 sb.append( " '" ).append( url ).append( "'\n" );
163 }
164 }
165
166 return super.toString( sb.toString() );
167 }
168 }