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.directory.shared.dsmlv2; 022 023 024 import java.nio.ByteBuffer; 025 import java.util.List; 026 027 import org.apache.directory.shared.asn1.AbstractAsn1Object; 028 import org.apache.directory.shared.asn1.codec.DecoderException; 029 import org.apache.directory.shared.asn1.codec.EncoderException; 030 import org.apache.directory.shared.ldap.codec.LdapMessageCodec; 031 import org.apache.directory.shared.ldap.codec.LdapResponseCodec; 032 import org.apache.directory.shared.ldap.codec.MessageTypeEnum; 033 import org.apache.directory.shared.ldap.codec.abandon.AbandonRequestCodec; 034 import org.apache.directory.shared.ldap.codec.add.AddRequestCodec; 035 import org.apache.directory.shared.ldap.codec.add.AddResponseCodec; 036 import org.apache.directory.shared.ldap.codec.bind.BindRequestCodec; 037 import org.apache.directory.shared.ldap.codec.bind.BindResponseCodec; 038 import org.apache.directory.shared.ldap.codec.compare.CompareRequestCodec; 039 import org.apache.directory.shared.ldap.codec.compare.CompareResponseCodec; 040 import org.apache.directory.shared.ldap.codec.del.DelRequestCodec; 041 import org.apache.directory.shared.ldap.codec.del.DelResponseCodec; 042 import org.apache.directory.shared.ldap.codec.extended.ExtendedRequestCodec; 043 import org.apache.directory.shared.ldap.codec.extended.ExtendedResponseCodec; 044 import org.apache.directory.shared.ldap.codec.modify.ModifyRequestCodec; 045 import org.apache.directory.shared.ldap.codec.modify.ModifyResponseCodec; 046 import org.apache.directory.shared.ldap.codec.modifyDn.ModifyDNRequestCodec; 047 import org.apache.directory.shared.ldap.codec.modifyDn.ModifyDNResponseCodec; 048 import org.apache.directory.shared.ldap.codec.search.SearchRequestCodec; 049 import org.apache.directory.shared.ldap.codec.search.SearchResultDoneCodec; 050 import org.apache.directory.shared.ldap.codec.search.SearchResultEntryCodec; 051 import org.apache.directory.shared.ldap.codec.search.SearchResultReferenceCodec; 052 import org.apache.directory.shared.ldap.codec.unbind.UnBindRequestCodec; 053 import org.apache.directory.shared.ldap.message.control.Control; 054 055 056 /** 057 * Decorator class for LDAP Message. This is the top level class, the one 058 * that holds the instance. 059 * 060 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 061 * @version $Rev$, $Date$ 062 */ 063 public abstract class LdapMessageDecorator extends LdapMessageCodec 064 { 065 /** The decorated instance */ 066 protected LdapMessageCodec instance; 067 068 069 /** 070 * Creates a new instance of LdapMessageDecorator. 071 * 072 * @param ldapMessage 073 * the message to decorate 074 */ 075 public LdapMessageDecorator( LdapMessageCodec ldapMessage ) 076 { 077 instance = ldapMessage; 078 } 079 080 081 /* (non-Javadoc) 082 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#addControl(org.apache.directory.shared.ldap.codec.Control) 083 */ 084 @Override 085 public void addControl( Control control ) 086 { 087 instance.addControl( control ); 088 } 089 090 091 /* (non-Javadoc) 092 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#computeLength() 093 */ 094 @Override 095 public int computeLength() 096 { 097 return 0; 098 } 099 100 @Override 101 public int computeLengthProtocolOp() 102 { 103 return 0; 104 } 105 106 107 /* (non-Javadoc) 108 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#encode(java.nio.ByteBuffer) 109 */ 110 @Override 111 public ByteBuffer encode( ByteBuffer buffer ) throws EncoderException 112 { 113 return null; 114 } 115 116 117 @Override 118 public void encodeProtocolOp( ByteBuffer buffer ) throws EncoderException 119 { 120 } 121 122 123 /* (non-Javadoc) 124 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getAbandonRequest() 125 */ 126 public AbandonRequestCodec getAbandonRequest() 127 { 128 return (AbandonRequestCodec)instance; 129 } 130 131 132 /* (non-Javadoc) 133 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getAddRequest() 134 */ 135 public AddRequestCodec getAddRequest() 136 { 137 return (AddRequestCodec)instance; 138 } 139 140 141 /* (non-Javadoc) 142 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getAddResponse() 143 */ 144 public AddResponseCodec getAddResponse() 145 { 146 return (AddResponseCodec)instance; 147 } 148 149 150 /* (non-Javadoc) 151 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getBindRequest() 152 */ 153 public BindRequestCodec getBindRequest() 154 { 155 return (BindRequestCodec)instance; 156 } 157 158 159 /* (non-Javadoc) 160 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getBindResponse() 161 */ 162 public BindResponseCodec getBindResponse() 163 { 164 return (BindResponseCodec)instance; 165 } 166 167 168 /* (non-Javadoc) 169 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getCompareRequest() 170 */ 171 public CompareRequestCodec getCompareRequest() 172 { 173 return (CompareRequestCodec)instance; 174 } 175 176 177 /* (non-Javadoc) 178 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getCompareResponse() 179 */ 180 public CompareResponseCodec getCompareResponse() 181 { 182 return (CompareResponseCodec)instance; 183 } 184 185 186 /* (non-Javadoc) 187 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getControls() 188 */ 189 @Override 190 public List<Control> getControls() 191 { 192 return instance.getControls(); 193 } 194 195 196 /* (non-Javadoc) 197 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getControls(int) 198 */ 199 @Override 200 public Control getControls( int i ) 201 { 202 return instance.getControls( i ); 203 } 204 205 206 /* (non-Javadoc) 207 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getCurrentControl() 208 */ 209 @Override 210 public Control getCurrentControl() 211 { 212 return instance.getCurrentControl(); 213 } 214 215 216 /* (non-Javadoc) 217 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getDelRequest() 218 */ 219 public DelRequestCodec getDelRequest() 220 { 221 return (DelRequestCodec)instance; 222 } 223 224 225 /* (non-Javadoc) 226 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getDelResponse() 227 */ 228 public DelResponseCodec getDelResponse() 229 { 230 return (DelResponseCodec)instance; 231 } 232 233 234 /* (non-Javadoc) 235 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getExtendedRequest() 236 */ 237 public ExtendedRequestCodec getExtendedRequest() 238 { 239 return (ExtendedRequestCodec)instance; 240 } 241 242 243 /* (non-Javadoc) 244 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getExtendedResponse() 245 */ 246 public ExtendedResponseCodec getExtendedResponse() 247 { 248 return (ExtendedResponseCodec)instance; 249 } 250 251 252 /* (non-Javadoc) 253 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getLdapResponse() 254 */ 255 public LdapResponseCodec getLdapResponse() 256 { 257 return (LdapResponseCodec)instance; 258 } 259 260 261 /* (non-Javadoc) 262 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getMessageId() 263 */ 264 @Override 265 public int getMessageId() 266 { 267 return instance.getMessageId(); 268 } 269 270 271 /* (non-Javadoc) 272 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getMessageType() 273 */ 274 @Override 275 public MessageTypeEnum getMessageType() 276 { 277 return instance.getMessageType(); 278 } 279 280 281 /* (non-Javadoc) 282 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getMessageTypeName() 283 */ 284 @Override 285 public String getMessageTypeName() 286 { 287 return instance.getMessageTypeName(); 288 } 289 290 291 /* (non-Javadoc) 292 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getModifyDNRequest() 293 */ 294 public ModifyDNRequestCodec getModifyDNRequest() 295 { 296 return (ModifyDNRequestCodec)instance; 297 } 298 299 300 /* (non-Javadoc) 301 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getModifyDNResponse() 302 */ 303 public ModifyDNResponseCodec getModifyDNResponse() 304 { 305 return (ModifyDNResponseCodec)instance; 306 } 307 308 309 /* (non-Javadoc) 310 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getModifyRequest() 311 */ 312 public ModifyRequestCodec getModifyRequest() 313 { 314 return (ModifyRequestCodec)instance; 315 } 316 317 318 /* (non-Javadoc) 319 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getModifyResponse() 320 */ 321 public ModifyResponseCodec getModifyResponse() 322 { 323 return (ModifyResponseCodec)instance; 324 } 325 326 327 /* (non-Javadoc) 328 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getSearchRequest() 329 */ 330 public SearchRequestCodec getSearchRequest() 331 { 332 return (SearchRequestCodec)instance; 333 } 334 335 336 /* (non-Javadoc) 337 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getSearchResultDone() 338 */ 339 public SearchResultDoneCodec getSearchResultDone() 340 { 341 return (SearchResultDoneCodec)instance; 342 } 343 344 345 /* (non-Javadoc) 346 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getSearchResultEntry() 347 */ 348 public SearchResultEntryCodec getSearchResultEntry() 349 { 350 return (SearchResultEntryCodec)instance; 351 } 352 353 354 /* (non-Javadoc) 355 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getSearchResultReference() 356 */ 357 public SearchResultReferenceCodec getSearchResultReference() 358 { 359 return (SearchResultReferenceCodec)instance; 360 } 361 362 363 /* (non-Javadoc) 364 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#getUnBindRequest() 365 */ 366 public UnBindRequestCodec getUnBindRequest() 367 { 368 return (UnBindRequestCodec)instance; 369 } 370 371 372 /* (non-Javadoc) 373 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#setMessageId(int) 374 */ 375 @Override 376 public void setMessageId( int messageId ) 377 { 378 instance.setMessageId( messageId ); 379 } 380 381 382 /* (non-Javadoc) 383 * @see org.apache.directory.shared.ldap.codec.LdapMessageCodec#toString() 384 */ 385 @Override 386 public String toString() 387 { 388 return instance.toString(); 389 } 390 391 392 /* (non-Javadoc) 393 * @see org.apache.directory.shared.asn1.Asn1Object#addLength(int) 394 */ 395 @Override 396 public void addLength( int length ) throws DecoderException 397 { 398 instance.addLength( length ); 399 } 400 401 402 /* (non-Javadoc) 403 * @see org.apache.directory.shared.asn1.Asn1Object#getCurrentLength() 404 */ 405 @Override 406 public int getCurrentLength() 407 { 408 return instance.getCurrentLength(); 409 } 410 411 412 /* (non-Javadoc) 413 * @see org.apache.directory.shared.asn1.Asn1Object#getExpectedLength() 414 */ 415 @Override 416 public int getExpectedLength() 417 { 418 return instance.getExpectedLength(); 419 } 420 421 422 /* (non-Javadoc) 423 * @see org.apache.directory.shared.asn1.Asn1Object#getParent() 424 */ 425 @Override 426 public AbstractAsn1Object getParent() 427 { 428 return instance.getParent(); 429 } 430 431 432 /* (non-Javadoc) 433 * @see org.apache.directory.shared.asn1.Asn1Object#setCurrentLength(int) 434 */ 435 @Override 436 public void setCurrentLength( int currentLength ) 437 { 438 instance.setCurrentLength( currentLength ); 439 } 440 441 442 /* (non-Javadoc) 443 * @see org.apache.directory.shared.asn1.Asn1Object#setExpectedLength(int) 444 */ 445 @Override 446 public void setExpectedLength( int expectedLength ) 447 { 448 instance.setExpectedLength( expectedLength ); 449 } 450 451 452 /* (non-Javadoc) 453 * @see org.apache.directory.shared.asn1.Asn1Object#setParent(org.apache.directory.shared.asn1.Asn1Object) 454 */ 455 public void setParent( AbstractAsn1Object parent ) 456 { 457 instance.setParent( parent ); 458 } 459 }