Class SubPackageHandling


public class SubPackageHandling extends Object
The sub package handling specifies how sub package are handled during recursive package installation. This configuration consists of a list of SubPackageHandling.Entrys that match against a given PackageId. The version of the package id is ignored.

The sub package handling can be specified in the package properties as a string of the following format:

     subPackageHandling := instruction { "," instruction };
     instruction := packageIdFilter { ";" option }
     packageIdFilter := packageNameFilter | groupNameFilter ":" packageNameFilter;
     groupNameFilter := "*" | groupName;
     packageNameFilter := "*" | packageName;
     option := "install" | "extract" | "add" | "ignore" | "force_install" | "force_extract";
Note that 'ignore' is currently not really supported as sub packages are part of the normal package content and behaves the same as 'add'. The default option if not explicitly specified is "install". Future implementations will transport the sub packages outside of the normal package content, e.g. in a META-INF/vault/subpackages/ folder (see JCRVLT-33).

The sub package handling is being specified in the package properties xml within property PackageProperties.NAME_SUB_PACKAGE_HANDLING and is parsed via fromString(String).

See Also:
  • Field Details

  • Constructor Details

    • SubPackageHandling

      public SubPackageHandling()
  • Method Details

    • fromString

      public static SubPackageHandling fromString(String str)
      Parses a options string as described above and returns a new SubPackageHandling instance.
      str - the string to parse
      the configuration or null if the string is malformed.
    • getOption

      public SubPackageHandling.Option getOption(PackageId id)
      Gets the option from the entries list that matches the package last. If no entry match, it returns SubPackageHandling.Option.INSTALL
      id - the package id to match
      the option.
    • getEntries

      public List<SubPackageHandling.Entry> getEntries()
      Returns the modifiable list of entries.
      the list of entries
    • getString

      public String getString()
      Returns the parseable string representation of this configuration.
      the string representation.