Nuxeo ECM Projects 5.4.3-SNAPSHOT

org.nuxeo.runtime.deploy
Class DependencyTree<K,T>

java.lang.Object
  extended by org.nuxeo.runtime.deploy.DependencyTree<K,T>
All Implemented Interfaces:
Iterable<DependencyTree.Entry<K,T>>
Direct Known Subclasses:
ContributionManager

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

Author:
Bogdan Stefanescu TODO this was copied from nuxeo.commons and fixed - should put it back with all modifs

Nested Class Summary
static class DependencyTree.Entry<K,T>
           
 
Field Summary
static int PHANTOM
           
static int REGISTERED
           
static int RESOLVED
           
 
Constructor Summary
DependencyTree()
           
 
Method Summary
 void add(K key, T object)
           
 DependencyTree.Entry<K,T> add(K key, T object, Collection<K> requires)
           
 DependencyTree.Entry<K,T> 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<T> getRegisteredObjects()
           
 T getResolved(K key)
           
 List<DependencyTree.Entry<K,T>> getResolvedEntries()
          Entries are sorted so an entry never depends on entries on its right.
 List<T> getResolvedObjects()
           
 boolean isPhantom(K key)
           
 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 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
 

Field Detail

PHANTOM

public static final int PHANTOM
See Also:
Constant Field Values

REGISTERED

public static final int REGISTERED
See Also:
Constant Field Values

RESOLVED

public static final int RESOLVED
See Also:
Constant Field Values
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 DependencyTree.Entry<K,T> add(K key,
                                     T object,
                                     K... requires)

add

public DependencyTree.Entry<K,T> 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)

getResolved

public T getResolved(K key)

resolve

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

unresolve

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

isPhantom

public boolean isPhantom(K key)

isRegistered

public boolean isRegistered(K key)

isResolved

public boolean isResolved(K key)

getEntries

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

getRegisteredObjects

public List<T> getRegisteredObjects()

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.