package usda.weru.util.tree;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import usda.weru.remoteDataAccess.remoteFiles.inetFile.CsipSoilFile;
import usda.weru.remoteDataAccess.remoteFiles.inetFile.InetFileBgIf;
import usda.weru.remoteDataAccess.csip.CsipInputControllerBgCacheIf;

public class WepsTreeNodeSoilCsip extends WepsTreeNodeRemote implements WepsTreeNodeBgIf {
    
    private static final long serialVersionUID = 1L;
   
    
    public WepsTreeNodeSoilCsip () {
        super();
        fileObj = new CsipSoilFile();
    }
    
    public WepsTreeNodeSoilCsip (CsipSoilFile file) {
        super(file);
    }

    @Override
    protected WepsTreeNode[] createChildren() {
        super.createChildren();
        List<WepsTreeNode> nodes = new ArrayList<>();

        for (File child : fileObj.listFiles()) {
            nodes.add(new WepsTreeNodeSoilCsip((CsipSoilFile)child));
        }
        return nodes.toArray(new WepsTreeNode[nodes.size()]);
    }

    @Override
    public void doBackgroundCatalog() {
        ((InetFileBgIf)fileObj).doBackgroundCatalog();
    }

    @Override
    public boolean checkBackgroundNewFiles() {
        return ((InetFileBgIf)fileObj).checkBackgroundNewFiles();
    }

    @Override
    public boolean checkBackgroundDownload() {
        return ((InetFileBgIf)fileObj).checkBackgroundDownload();
    }

    
    @Override
    public CsipInputControllerBgCacheIf getBackgroundPropertyChangeObject() {
        return ((InetFileBgIf)fileObj).getBackgroundPropertyChangeObject();
    }
    
    @Override
    public void clearBackgroundNewFiles () {
        ((InetFileBgIf)fileObj).clearBackgroundNewFiles();
    }
}
