// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.tsp.ers;

import java.util.ArrayList;
import java.util.List;
import java.io.FileNotFoundException;
import java.io.File;

public class ERSDirectoryDataGroup extends ERSDataGroup
{
    public ERSDirectoryDataGroup(final File file) throws FileNotFoundException {
        super(buildGroup(file));
    }
    
    private static List<ERSData> buildGroup(final File file) throws FileNotFoundException {
        if (file.isDirectory()) {
            final File[] listFiles = file.listFiles();
            final ArrayList list = new ArrayList(listFiles.length);
            for (int i = 0; i != listFiles.length; ++i) {
                if (listFiles[i].isDirectory()) {
                    if (listFiles[i].listFiles().length != 0) {
                        list.add((Object)new ERSDirectoryDataGroup(listFiles[i]));
                    }
                }
                else {
                    list.add((Object)new ERSFileData(listFiles[i]));
                }
            }
            return (List<ERSData>)list;
        }
        throw new IllegalArgumentException("file reference does not refer to directory");
    }
    
    public List<ERSFileData> getFiles() {
        final ArrayList list = new ArrayList();
        for (int i = 0; i != this.dataObjects.size(); ++i) {
            if (this.dataObjects.get(i) instanceof ERSFileData) {
                list.add(this.dataObjects.get(i));
            }
        }
        return list;
    }
    
    public List<ERSDirectoryDataGroup> getSubdirectories() {
        final ArrayList list = new ArrayList();
        for (int i = 0; i != this.dataObjects.size(); ++i) {
            if (this.dataObjects.get(i) instanceof ERSDirectoryDataGroup) {
                list.add(this.dataObjects.get(i));
            }
        }
        return list;
    }
}
