Nuxeo ECM Projects 5.4.3-SNAPSHOT

org.nuxeo.common.collections
Class DependencyTree<K,T>

java.lang.Object
  extended by org.nuxeo.common.collections.DependencyTree<K,T>
All Implemented Interfaces:
Iterable<DependencyTree.Entry<K,T>>
Direct Known Subclasses:
FragmentRegistry

public class DependencyTree<K,T>
extends Object
implements Iterable<DependencyTree.Entry<K,T>>

Author:
Bogdan Stefanescu

Nested Class Summary
static class DependencyTree.Entry<K,T>
           
 
Constructor Summary
DependencyTree()
           
 
Method Summary
 void add(K key, T object)
           
 void add(K key, T object, Collection<K> requires)
           
 void add(K key, T object, K... requires)
           
 void clear()
           
 T get(K key)
           
 Collection<DependencyTree.Entry<K,T>> getEntries()
           
 DependencyTree.Entry<K,T> getEntry(K key)
           
 List<DependencyTree.Entry<K,T>> getMissingRequirements()
           
 List<DependencyTree.Entry<K,T>> getPendingEntries()
           
 List<T> getPendingObjects()
           
 List<DependencyTree.Entry<K,T>> getResolvedEntries()
          Entries are sorted so an entry never depends on entries on its right.
 List<T> getResolvedObjects()
           
 boolean isRegistered(K key)
           
 boolean isResolved(K key)
           
 Iterator<DependencyTree.Entry<K,T>> iterator()
           
 void remove(K key)
           
 void resolve(DependencyTree.Entry<K,T> entry)
           
 void setEventHandler(org.nuxeo.common.collections.DependencyTree.EventHandler<T> eventHandler)
           
 void unregister(DependencyTree.Entry<K,T> entry)
           
 void unresolve(DependencyTree.Entry<K,T> entry)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DependencyTree

public DependencyTree()
Method Detail

iterator

public Iterator<DependencyTree.Entry<K,T>> iterator()
Specified by:
iterator in interface Iterable<DependencyTree.Entry<K,T>>

add

public void add(K key,
                T object,
                K... requires)

add

public void add(K key,
                T object,
                Collection<K> requires)

add

public void add(K key,
                T object)

remove

public void remove(K key)

unregister

public void unregister(DependencyTree.Entry<K,T> entry)

getEntry

public DependencyTree.Entry<K,T> getEntry(K key)

get

public T get(K key)

resolve

public void resolve(DependencyTree.Entry<K,T> entry)

unresolve

public void unresolve(DependencyTree.Entry<K,T> entry)

isRegistered

public boolean isRegistered(K key)

isResolved

public boolean isResolved(K key)

setEventHandler

public void setEventHandler(org.nuxeo.common.collections.DependencyTree.EventHandler<T> eventHandler)

getEntries

public Collection<DependencyTree.Entry<K,T>> getEntries()

getPendingEntries

public List<DependencyTree.Entry<K,T>> getPendingEntries()

getPendingObjects

public List<T> getPendingObjects()

getMissingRequirements

public List<DependencyTree.Entry<K,T>> getMissingRequirements()

getResolvedEntries

public List<DependencyTree.Entry<K,T>> getResolvedEntries()
Entries are sorted so an entry never depends on entries on its right.


getResolvedObjects

public List<T> getResolvedObjects()

clear

public void clear()

Nuxeo ECM Projects 5.4.3-SNAPSHOT

Copyright © 2011 Nuxeo SAS. All Rights Reserved.