package org.esa.snap.ui.product.metadata;
import org.openide.nodes.ChildFactory;
import org.openide.nodes.Node;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* @author Tonio Fincke
*/
class MetadataElementChildFactory extends ChildFactory.Detachable<MetadataTableElement> {
private List<MetadataTableElement> metadataTableElementList;
public MetadataElementChildFactory(MetadataTableElement[] metadataElements) {
metadataTableElementList = new ArrayList<>();
Collections.addAll(metadataTableElementList, metadataElements);
}
@Override
protected boolean createKeys(List<MetadataTableElement> toPopulate) {
if (metadataTableElementList.size() == 0) {
return true;
}
return toPopulate.addAll(metadataTableElementList);
}
@Override
protected Node createNodeForKey(MetadataTableElement metadataElement) {
return metadataElement.createNode();
}
}