class GetSubFoldersMeta extends BaseTransformMeta implements ITransformMeta<GetSubFolders, GetSubFoldersData> {

  public void getFields( IRowMeta row, String name, IRowMeta[] info, TransformMeta nextTransform,
                         IVariables variables, IHopMetadataProvider metadataProvider ) throws HopTransformException {

    // the folderName
    IValueMeta folderName = new ValueMetaString( "folderName" );
    folderName.setLength( 500 );
    folderName.setPrecision( -1 );
    folderName.setOrigin( name );
    row.addValueMeta( folderName );

    // the short folderName
    IValueMeta short_folderName = new ValueMetaString( "short_folderName" );
    short_folderName.setLength( 500 );
    short_folderName.setPrecision( -1 );
    short_folderName.setOrigin( name );
    row.addValueMeta( short_folderName );

    // the path
    IValueMeta path = new ValueMetaString( "path" );
    path.setLength( 500 );
    path.setPrecision( -1 );
    path.setOrigin( name );
    row.addValueMeta( path );

    // the ishidden
    IValueMeta ishidden = new ValueMetaBoolean( "ishidden" );
    ishidden.setOrigin( name );
    row.addValueMeta( ishidden );

    // the isreadable
    IValueMeta isreadable = new ValueMetaBoolean( "isreadable" );
    isreadable.setOrigin( name );
    row.addValueMeta( isreadable );

    // the iswriteable
    IValueMeta iswriteable = new ValueMetaBoolean( "iswriteable" );
    iswriteable.setOrigin( name );
    row.addValueMeta( iswriteable );

    // the lastmodifiedtime
    IValueMeta lastmodifiedtime = new ValueMetaDate( "lastmodifiedtime" );
    lastmodifiedtime.setOrigin( name );
    row.addValueMeta( lastmodifiedtime );

    // the uri
    IValueMeta uri = new ValueMetaString( "uri" );
    uri.setOrigin( name );
    row.addValueMeta( uri );

    // the rooturi
    IValueMeta rooturi = new ValueMetaString( "rooturi" );
    rooturi.setOrigin( name );
    row.addValueMeta( rooturi );

    // childrens
    IValueMeta childrens =
      new ValueMetaInteger( variables.environmentSubstitute( "childrens" ) );
    childrens.setLength( IValueMeta.DEFAULT_INTEGER_LENGTH, 0 );
    childrens.setOrigin( name );
    row.addValueMeta( childrens );

    if ( includeRowNumber ) {
      IValueMeta v = new ValueMetaInteger( variables.environmentSubstitute( rowNumberField ) );
      v.setLength( IValueMeta.DEFAULT_INTEGER_LENGTH, 0 );
      v.setOrigin( name );
      row.addValueMeta( v );
    }

  }

  public  GetSubFoldersMeta();

}