- Direct Known Subclasses:
- Enclosing class:
public abstract static class ConflictResolver.ScopeDeriver extends Object
An extension point of
ConflictResolverthat determines the scope of a dependency in relation to the scope of its parent.
Note: Implementations must be stateless.
Method SummaryModifier and TypeMethodDescription
(ConflictResolver.ScopeContext context)Determines the scope of a dependency in relation to the scope of its parent.
(DependencyNode root, DependencyGraphTransformationContext context)Retrieves the scope deriver for use during the specified graph transformation.
getInstancepublic ConflictResolver.ScopeDeriver getInstance
(DependencyNode root, DependencyGraphTransformationContext context) throws RepositoryExceptionRetrieves the scope deriver for use during the specified graph transformation. The conflict resolver calls this method once per
ConflictResolver.transformGraph(DependencyNode, DependencyGraphTransformationContext)invocation to allow implementations to prepare any auxiliary data that is needed for their operation. Given that implementations must be stateless, a new instance needs to be returned to hold such auxiliary data. The default implementation simply returns the current instance which is appropriate for implementations which do not require auxiliary data.
root- The root node of the (possibly cyclic!) graph to transform, must not be
context- The graph transformation context, must not be
- The scope deriver to use for the given graph transformation, never
RepositoryException- If the instance could not be retrieved.
deriveScopepublic abstract void deriveScope
(ConflictResolver.ScopeContext context) throws RepositoryExceptionDetermines the scope of a dependency in relation to the scope of its parent. Implementors need to call
ConflictResolver.ScopeContext.setDerivedScope(String)to deliver the result of their calculation. If said method is not invoked, the conflict resolver will assume the scope of the child dependency remains unchanged.
context- The scope context, must not be
RepositoryException- If the scope deriviation failed.