
package seqOfComplex;

/**
 * <ul>
 * <li> <b>IDL Source</b>    "seqOfComplexTest.idl"
 * <li> <b>IDL Name</b>      ::seqOfComplex::SeqOfComplexTest
 * <li> <b>Repository Id</b> IDL:seqOfComplex/SeqOfComplexTest:1.0
 * </ul>
 * <b>IDL definition:</b>
 * <pre>
 * interface SeqOfComplexTest {
  ...
};
 * </pre>
 */
public class SeqOfComplexTestPOATie extends SeqOfComplexTestPOA {
  private seqOfComplex.SeqOfComplexTestOperations _delegate;
  private org.omg.PortableServer.POA _poa;

  public SeqOfComplexTestPOATie (final seqOfComplex.SeqOfComplexTestOperations _delegate) {
    this._delegate = _delegate;
  }

  public SeqOfComplexTestPOATie (final seqOfComplex.SeqOfComplexTestOperations _delegate, 
                              final org.omg.PortableServer.POA _poa) {
    this._delegate = _delegate;
    this._poa = _poa;
  }

  public seqOfComplex.SeqOfComplexTestOperations _delegate () {
    return this._delegate;
  }

  public void _delegate (final seqOfComplex.SeqOfComplexTestOperations delegate) {
    this._delegate = delegate;
  }

  public org.omg.PortableServer.POA _default_POA () {
    if (_poa != null) {
      return _poa;
    } 
    else {
      return super._default_POA();
    }
  }

  /**
   * <pre>
   *   long testSeqOfComplex (in seqOfComplex.BasicStructSeq inBasicStructSeq,
                         inout seqOfComplex.BasicStructSeq inoutBasicStructSeq,
                         out seqOfComplex.BasicStructSeq outBasicStructSeq);
   * </pre>
   */
  public int testSeqOfComplex (seqOfComplex.BasicStruct[] inBasicStructSeq, 
                               seqOfComplex.BasicStructSeqHolder inoutBasicStructSeq, 
                               seqOfComplex.BasicStructSeqHolder outBasicStructSeq) {
    return this._delegate.testSeqOfComplex(inBasicStructSeq, inoutBasicStructSeq, 
                                           outBasicStructSeq);
  }

}
