com.github.nill14.parsers.dependency.IDependencyDescriptorBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of graph Show documentation
Show all versions of graph Show documentation
Implementation of directed acyclic graph along with some graph algorithms and dependency management.
The newest version!
package com.github.nill14.parsers.dependency;
public interface IDependencyDescriptorBuilder {
/**
* consumes, dependsOn
* @param dependency a service provider
* @return self
*/
IDependencyDescriptorBuilder uses(K dependency);
/**
* consumes, dependsOn (optionally)
* @param dependency a service provider
* @return self
*/
IDependencyDescriptorBuilder usesOptionally(K dependency);
/**
* provides or isPrerequisiteOf
* @param service a service provider
* @return self
*/
IDependencyDescriptorBuilder provides(K service);
/**
* Module priority lifts up the module in execution order
* as long as dependencies are satisfied.
* Typical use case might be a splash screen or a logging provider (if not captured by dependencies).
* Rating is calculated as maximum of either module priority
* or maximum of path cost and successor priority.
* Predecessors (dependencies) have always higher execution rating than this module.
*
* @param priority the module priority (0..100000)
* @return self
*/
IDependencyDescriptorBuilder executionPriority(int priority);
IDependencyDescriptor build();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy