/** * @return true, if all dependencies are available */ public boolean areDependenciesAvailable() { for ( ResourceIdentifier<? extends Resource> id : metadata.getDependencies() ) { if ( graph.getNode( id ) == null ) { return false; } } return true; }
private void updateDependencies() { // better algorithm possible? for ( ResourceNode<? extends Resource> node : nodeMap.values() ) { node.getDependencies().clear(); node.getDependents().clear(); } for ( ResourceNode<? extends Resource> node : nodeMap.values() ) { ResourceMetadata<? extends Resource> md = node.getMetadata(); for ( ResourceIdentifier<? extends Resource> id : md.getDependencies() ) { ResourceNode<? extends Resource> depNode = nodeMap.get( id ); if ( depNode != null ) { node.addDependency( depNode ); depNode.addDependent( node ); } } for ( ResourceIdentifier<? extends Resource> id : md.getSoftDependencies() ) { ResourceNode<? extends Resource> depNode = nodeMap.get( id ); if ( depNode != null ) { node.addSoftDependency( depNode ); depNode.addDependent( node ); } } } }
for ( ResourceIdentifier<? extends Resource> id : md.getDependencies() ) { state = states.getState( id ); if ( state == null || state == Scanned ) {
for ( ResourceIdentifier<? extends Resource> dep : md.getDependencies() ) { if ( states.getState( dep ) != Initialized ) { states.setState( md.getIdentifier(), Error );