Class DependencyUtil

java.lang.Object
org.apache.jackrabbit.vault.packaging.DependencyUtil

public class DependencyUtil extends Object
Dependency Utilities
  • Constructor Details

    • DependencyUtil

      public DependencyUtil()
  • Method Details

    • sort

      public static <T extends VaultPackage> void sort(Collection<T> packages) throws CyclicDependencyException
      Sorts the packages by the dependency order
      Type Parameters:
      T - Type of the collection.
      Parameters:
      packages - packages to sort
      Throws:
      CyclicDependencyException - if a cyclic dependency is detected
    • sortPackages

      public static <T extends JcrPackage> void sortPackages(Collection<T> packages) throws CyclicDependencyException, RepositoryException
      Sorts the packages by the dependency order
      Type Parameters:
      T - Type of the collection.
      Parameters:
      packages - packages to sort
      Throws:
      CyclicDependencyException - if a cyclic dependency is detected
      RepositoryException - if an repository error occurs
    • resolve

      public static List<PackageId> resolve(Map<PackageId,Dependency[]> list) throws CyclicDependencyException
      Resolves a list of resolutions respecting their internal dependency references.
      Parameters:
      list - list of resolutions
      Returns:
      a new list of resolutions
      Throws:
      CyclicDependencyException - if a cyclic dependency is detected
    • matches

      public static boolean matches(@NotNull @NotNull Dependency[] deps, @NotNull @NotNull PackageId id)
      Checks if any of the dependencies matches the given id
      Parameters:
      deps - the list of dependencies
      id - the id
      Returns:
      true if matches
    • addExact

      public static Dependency[] addExact(@NotNull @NotNull Dependency[] deps, @NotNull @NotNull PackageId id)
      Adds an exact dependency to the give package if it is not already contained in the given list.
      Parameters:
      deps - the original dependencies
      id - the id to add
      Returns:
      the new array of dependencies, or deps if nothing changed.
    • add

      public static Dependency[] add(@NotNull @NotNull Dependency[] deps, @NotNull @NotNull Dependency dep)
      Adds an dependency to the give package if it is not already contained in the given list. version ranges are current ignored.
      Parameters:
      deps - the original dependencies
      dep - the dependency to add
      Returns:
      the new array of dependencies, or deps if nothing changed.