package usda.weru.util.tree;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import usda.weru.remoteDataAccess.remoteFiles.inetFile.CsipPrismFile;
import usda.weru.remoteDataAccess.remoteFiles.inetFile.InetFileBgIf;
import usda.weru.remoteDataAccess.csip.CsipInputControllerBgCacheIf;


public class WepsTreeNodePrism extends WepsTreeNodeRemote implements WepsTreeNodeBgIf {
    
    private static final long serialVersionUID = 1L;
    
    
    public WepsTreeNodePrism () {
        super();
        fileObj = new CsipPrismFile();
    }
    
    public WepsTreeNodePrism (CsipPrismFile file) {
        super(file);
    }

    @Override
    protected WepsTreeNode[] createChildren() {
        super.createChildren();
        List<WepsTreeNode> nodes = new ArrayList<>();

        for (File child : fileObj.listFiles()) {
            nodes.add(new WepsTreeNodePrism((CsipPrismFile)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();
    }
}
