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 )
126 {
127 return resp.getReferral() == null;
128 }
129
130 return referral.equals( resp.getReferral() );
131 }
132
133
134
135
136
137
138
139 @Override
140 public String toString()
141 {
142
143 StringBuilder sb = new StringBuilder();
144
145 sb.append( " Search Result Reference\n" );
146
147 if ( ( referral == null ) || ( referral.getLdapUrls() == null ) || referral.getLdapUrls().isEmpty() )
148 {
149 sb.append( " No Reference\n" );
150 }
151 else
152 {
153 sb.append( " References\n" );
154
155 for ( String url : referral.getLdapUrls() )
156 {
157 sb.append( " '" ).append( url ).append( "'\n" );
158 }
159 }
160
161 return super.toString( sb.toString() );
162 }
163 }