@SuppressWarnings("unchecked") @Override public int getIndexOfChild(Object parent, Object child) { IOObject parentIOObject = getIOObject(parent); if (parentIOObject instanceof IOObjectCollection) { IOObjectCollection<IOObject> col = (IOObjectCollection<IOObject>) parentIOObject; return col.getObjects().indexOf(child); } else if (parentIOObject instanceof GroupedModel) { return ((GroupedModel) parentIOObject).getModels().indexOf(child); } else if (parentIOObject instanceof MetaModel) { return ((MetaModel) parentIOObject).getModels().indexOf(child); } else { return -1; } }
@SuppressWarnings("unchecked") @Override public Object getChild(Object parent, int index) { IOObject parentIOObject = getIOObject(parent); IOObject ioobject = null; if (parentIOObject instanceof IOObjectCollection) { IOObjectCollection<IOObject> col = (IOObjectCollection<IOObject>) parentIOObject; ioobject = col.getElement(index, false); } else if (parentIOObject instanceof GroupedModel) { ioobject = ((GroupedModel) parentIOObject).getModel(index); } else if (parentIOObject instanceof MetaModel) { ioobject = ((MetaModel) parentIOObject).getModels().get(index); } return new CollectionTreeElement(ioobject); }
@SuppressWarnings("unchecked") @Override public int getChildCount(Object parent) { IOObject parentIOObject = getIOObject(parent); if (parentIOObject instanceof IOObjectCollection) { IOObjectCollection<IOObject> col = (IOObjectCollection<IOObject>) parentIOObject; return col.size(); } else if (parentIOObject instanceof GroupedModel) { return ((GroupedModel) parentIOObject).getNumberOfModels(); } else if (parentIOObject instanceof MetaModel) { return ((MetaModel) parentIOObject).getModels().size(); } else { return 0; } }
@Override public void doWork() throws OperatorException { IOObjectCollection<?> collection = collectionInput.getData(IOObjectCollection.class); flatOutput.deliver(new IOObjectCollection<IOObject>(collection.getObjectsRecursive())); }