com.pmease.quickbuild.util
Class DependencyHelper
java.lang.Object
com.pmease.quickbuild.util.DependencyHelper
public class DependencyHelper
- extends java.lang.Object
Method Summary |
static
|
getDependents(java.util.Map<java.lang.String,T> dependencyContext,
T dependency)
Get all objects directly depends on specified dependency in specified context. |
static
|
hasTransitiveDependency(java.util.Map<java.lang.String,T> dependencyContext,
T dependent,
T dependency)
Whether or not specified "dependent" object depends on specified
"dependency" object transitively in specified "dependencyContext". |
static
|
sortDependencies(java.util.Map<java.lang.String,T> dependencyContext)
Sort dependencies in context. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DependencyHelper
public DependencyHelper()
hasTransitiveDependency
public static <T extends Dependency> boolean hasTransitiveDependency(java.util.Map<java.lang.String,T> dependencyContext,
T dependent,
T dependency)
- Whether or not specified "dependent" object depends on specified
"dependency" object transitively in specified "dependencyContext".
- Parameters:
dependencyContext
- Map of dependency id to dependency object.dependent
- The object to check the transitive dependency against.dependency
- The object to define the transitive dependency. This should not be the same
as the dependent object.
- Returns:
- true if "dependent" has a transitive "dependency", false otherwise.
getDependents
public static <T extends Dependency> java.util.Set<T> getDependents(java.util.Map<java.lang.String,T> dependencyContext,
T dependency)
- Get all objects directly depends on specified dependency in specified context.
- Parameters:
dependencyContext
- A map of dependency identifier to dependencydependency
- The dependency to look for dependents
- Returns:
- A set of objects who has a direct dependency to passed "dependency" param in specified
"dependencyContext". An empty set will be returned if no objects depends on specified dependency.
sortDependencies
public static <T extends Dependency> java.util.List<T> sortDependencies(java.util.Map<java.lang.String,T> dependencyContext)
- Sort dependencies in context. If "dependency1" depends on "dependency2", "dependency2" will
appear before "dependency1" in the result list.
- Parameters:
dependencyContext
-
- Returns:
- Sorted dependency list with elements without dependencies appear before elements
with dependencies.
- Throws:
{@link
- DependencyException} if circular dependencies are found in the context, or
if some dependency object refers to non-existent dependencies in the context.
Copyright © 2005-2010 PMEase Inc. All Rights Reserved.