Class DefaultDependencyDescriptor

    • Constructor Detail

      • DefaultDependencyDescriptor

        public DefaultDependencyDescriptor​(ModuleDescriptor md,
                                           ModuleRevisionId mrid,
                                           boolean force,
                                           boolean changing,
                                           boolean transitive)
      • DefaultDependencyDescriptor

        public DefaultDependencyDescriptor​(ModuleRevisionId mrid,
                                           boolean force)
      • DefaultDependencyDescriptor

        public DefaultDependencyDescriptor​(ModuleRevisionId mrid,
                                           boolean force,
                                           boolean changing)
    • Method Detail

      • transformInstance

        public static DependencyDescriptor transformInstance​(DependencyDescriptor dd,
                                                             Namespace ns)
        Transforms the given dependency descriptor of the given namespace and return a new dependency descriptor in the system namespace. Note that exclude rules are not converted in system namespace, because they aren't transformable (the name space hasn't the ability to convert regular expressions). However, method doesExclude will work with system artifacts.
        Parameters:
        dd - DependencyDescriptor
        ns - Namespace
        Returns:
        DependencyDescriptor
      • transformInstance

        public static DefaultDependencyDescriptor transformInstance​(DependencyDescriptor dd,
                                                                    NamespaceTransformer t,
                                                                    boolean fromSystem)
        Transforms a dependency descriptor using the given transformer. Note that no namespace info will be attached to the transformed dependency descriptor, so calling doesExclude is not recommended (doesExclude only works when namespace is properly set)
        Parameters:
        dd - DependencyDescriptor
        t - NamespaceTransformer
        fromSystem - boolean
        Returns:
        DefaultDependencyDescriptor
      • getDependencyConfigurations

        public java.lang.String[] getDependencyConfigurations​(java.lang.String moduleConfiguration,
                                                              java.lang.String requestedConfiguration)
        Return the dependency configurations mapped to the given moduleConfiguration, actually resolved because of the given requestedConfiguration

        Usually requestedConfiguration and moduleConfiguration are the same, except when a conf extends another, then the moduleConfiguration is the configuration currently resolved (the extended one), and requestedConfiguration is the one actually requested initially (the extending one). Both moduleConfiguration and requestedConfiguration are configurations of the caller, the array returned is composed of the required configurations of the dependency described by this descriptor.

        Specified by:
        getDependencyConfigurations in interface DependencyDescriptor
        Parameters:
        moduleConfiguration - String
        requestedConfiguration - String
        Returns:
        String[]
      • replaceSelfFallbackPattern

        protected static java.lang.String replaceSelfFallbackPattern​(java.lang.String conf,
                                                                     java.lang.String moduleConfiguration)
      • replaceThisFallbackPattern

        protected static java.lang.String replaceThisFallbackPattern​(java.lang.String conf,
                                                                     java.lang.String requestedConfiguration)
      • replaceFallbackConfigurationPattern

        protected static java.lang.String replaceFallbackConfigurationPattern​(java.util.regex.Pattern pattern,
                                                                              java.lang.String conf,
                                                                              java.lang.String moduleConfiguration)
        Replaces fallback patterns with correct values if fallback pattern exists.
        Parameters:
        pattern - pattern to look for
        conf - configuration mapping from dependency element
        moduleConfiguration - module's configuration to use for replacement
        Returns:
        Replaced string if pattern matched. Otherwise null.
      • addDependencyConfiguration

        public void addDependencyConfiguration​(java.lang.String masterConf,
                                               java.lang.String depConf)
      • addIncludeRule

        public void addIncludeRule​(java.lang.String masterConf,
                                   IncludeRule rule)
      • addExcludeRule

        public void addExcludeRule​(java.lang.String masterConf,
                                   ExcludeRule rule)
      • doesExclude

        public boolean doesExclude​(java.lang.String[] moduleConfigurations,
                                   ArtifactId artifactId)
        only works when namespace is properly set. The behaviour is not specified if namespace is not set.
        Specified by:
        doesExclude in interface DependencyDescriptor
        Parameters:
        moduleConfigurations - String[]
        artifactId - ditto
        Returns:
        boolean
      • canExclude

        public boolean canExclude()
        Specified by:
        canExclude in interface DependencyDescriptor
        Returns:
        true if this descriptor contains any exclusion rule
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • isForce

        public boolean isForce()
        Description copied from interface: DependencyDescriptor
        Used to indicate that this revision must be used in case of conflicts, independently of conflicts manager. This only works for direct dependencies, and not transitive ones.
        Specified by:
        isForce in interface DependencyDescriptor
        Returns:
        true if this dependency should be used, false if conflicts manager can do its work.
      • isChanging

        public boolean isChanging()
        Description copied from interface: DependencyDescriptor
        Used to indicate that this dependency is a changing one. A changing dependency in ivy means that the revision may have its artifacts modified without revision change. When new artifacts are published a new ivy file should also be published with a new publication date to indicate to ivy that artifacts have changed and that they should be downloaded again.
        Specified by:
        isChanging in interface DependencyDescriptor
        Returns:
        true if this dependency is a changing one
      • getAttribute

        public java.lang.String getAttribute​(java.lang.String attName)
        Description copied from interface: ExtendableItem
        Gets the value of an attribute Can be used to access the value of a standard attribute (like organisation, revision) or of an extra attribute.
        Specified by:
        getAttribute in interface ExtendableItem
        Parameters:
        attName - the name of the attribute to get
        Returns:
        the value of the attribute, null if the attribute doesn't exist
      • getAttributes

        public java.util.Map<java.lang.String,​java.lang.String> getAttributes()
        Description copied from interface: ExtendableItem
        Returns a Map of all attributes of this extendable item, including standard and extra ones. The Map keys are attribute names as Strings, and values are corresponding attribute values (as String too). Extra attributes are included in unqualified form only.
        Specified by:
        getAttributes in interface ExtendableItem
        Returns:
        A Map instance containing all the attributes and their values.
      • getExtraAttribute

        public java.lang.String getExtraAttribute​(java.lang.String attName)
        Description copied from interface: ExtendableItem
        Gets the value of an extra attribute Can be used only to access the value of an extra attribute, not a standard one (like organisation, revision)
        Specified by:
        getExtraAttribute in interface ExtendableItem
        Parameters:
        attName - the name of the extra attribute to get. This name can be either qualified or unqualified.
        Returns:
        the value of the attribute, null if the attribute doesn't exist
      • getExtraAttributes

        public java.util.Map<java.lang.String,​java.lang.String> getExtraAttributes()
        Description copied from interface: ExtendableItem
        Returns a Map of all extra attributes of this extendable item. The Map keys are unqualified attribute names as Strings, and values are corresponding attribute values (as String too)
        Specified by:
        getExtraAttributes in interface ExtendableItem
        Returns:
        A Map instance containing all the extra attributes and their values.
        See Also:
        ExtendableItem.getQualifiedExtraAttributes()
      • getQualifiedExtraAttributes

        public java.util.Map<java.lang.String,​java.lang.String> getQualifiedExtraAttributes()
        Description copied from interface: ExtendableItem
        Returns a Map of all extra attributes of this extendable item.

        The Map keys are qualified attribute names as Strings, and values are corresponding attribute values (as String too).

        An attribute name is qualified with a namespace exactly the same way xml attributes are qualified. Thus qualified attribute names are of the form prefix:name

        Specified by:
        getQualifiedExtraAttributes in interface ExtendableItem
        Returns:
        A Map instance containing all the extra attributes and their values.
        See Also:
        ExtendableItem.getExtraAttributes()
      • getSourceModule

        public ModuleRevisionId getSourceModule()
        Specified by:
        getSourceModule in interface InheritableItem
        Returns:
        the module in which this item was actually defined, if different from the module in which the item appears. May be null.