class LdapInput extends BaseTransform<LdapInputMeta, LdapInputData> implements ITransform<LdapInputMeta, LdapInputData> {

  @Override
  public boolean init() {
    if ( super.init() ) {
      data.rownr = 1L;
      // Get multi valued field separator
      data.multiValuedFieldSeparator = environmentSubstitute( meta.getMultiValuedSeparator() );      
      data.nrFields = meta.getInputFields().length;
      // Set the filter string
      data.staticFilter = environmentSubstitute( meta.getFilterString() );
      // Set the search base
      data.staticSearchBase = environmentSubstitute( meta.getSearchBase() );

      data.dynamic = ( meta.isDynamicSearch() || meta.isDynamicFilter() );
      try {
        // Try to connect to LDAP server
        connectServerLdap();

        return true;

      } catch ( Exception e ) {
        logError( BaseMessages.getString( PKG, "LdapInput.ErrorInit", e.toString() ) );
        stopAll();
        setErrors( 1 );
      }
    }
    return false;
  }

  public  LdapInput( TransformMeta transformMeta, LdapInputMeta meta,  LdapInputData data, int copyNr, PipelineMeta pipelineMeta,
                    Pipeline pipeline );

}