org.apache.ivy.osgi.repo

## Class AbstractOSGiResolver

- java.lang.Object
- - org.apache.ivy.plugins.resolver.AbstractResolver
  - - org.apache.ivy.plugins.resolver.BasicResolver
    - - org.apache.ivy.osgi.repo.AbstractOSGiResolver

All Implemented Interfaces:
  Validatable, DependencyResolver, HasLatestStrategy

Direct Known Subclasses:
  AggregatedOSGiResolver, OBRResolver, UpdateSiteResolver

    public abstract class AbstractOSGiResolver
    extends BasicResolver

### Nested Class Summary

Nested Classes
`static class` `AbstractOSGiResolver.RequirementStrategy`

### Field Summary

Fields
`protected static RepoDescriptor` `FAILING_REPO_DESCRIPTOR`

### Fields inherited from class org.apache.ivy.plugins.resolver.BasicResolver

`DATE_FORMAT, DESCRIPTOR_OPTIONAL, DESCRIPTOR_REQUIRED`

### Constructor Summary

Constructors
Constructor and Description
`AbstractOSGiResolver()`

### Method Summary

Methods
`protected void` `checkModuleDescriptorRevision(ModuleDescriptor systemMd, ModuleRevisionId systemMrid)`
`protected void` `ensureInit()`
`protected java.util.Collection` `filterNames(java.util.Collection names)` Filters names before returning them in the findXXXNames or findTokenValues method.
`ResolvedResource` `findArtifactRef(Artifact artifact, java.util.Date date)`
`ResolvedResource[]` `findBundle(DependencyDescriptor dd, ResolveData data, java.util.Collection<ModuleDescriptor> mds)`
`ResolvedResource[]` `findCapability(DependencyDescriptor dd, ResolveData data, java.util.Collection<ModuleDescriptor> mds)`
`ResolvedResource` `findIvyFileRef(DependencyDescriptor dd, ResolveData data)` Finds the module descriptor for the specified `DependencyDescriptor`.
`protected java.util.Collection` `findNames(java.util.Map tokenValues, java.lang.String token)`
`ResolvedResource` `findResource(ResolvedResource[] rress, ResourceMDParser rmdparser, ModuleRevisionId mrid, java.util.Date date)` When the resolver has many choices, this function helps choosing one
`protected long` `get(Resource resource, java.io.File dest)`
`RepoDescriptor` `getRepoDescriptor()`
`URLRepository` `getRepository()`
`protected Resource` `getResource(java.lang.String source)`
`protected abstract void` `init()`
`boolean` `isAllownomd()`
`java.util.Map[]` `listTokenValues(java.lang.String[] tokens, java.util.Map criteria)` Same as `DependencyResolver.listTokenValues(String, Map)` but more generic.
`void` `publish(Artifact artifact, java.io.File src, boolean overwrite)`
`protected void` `setRepoDescriptor(RepoDescriptor repoDescriptor)`
`void` `setRequirementStrategy(AbstractOSGiResolver.RequirementStrategy importPackageStrategy)`
`void` `setRequirementStrategy(java.lang.String strategy)`

### Methods inherited from class org.apache.ivy.plugins.resolver.BasicResolver

`acceptLatest, clearArtifactAttempts, clearIvyAttempts, doFindArtifactRef, download, download, exists, findFirstArtifactRef, getAndCheck, getArtifactRef, getChecksumAlgorithms, getDefaultRMDParser, getDependency, getPublicationDate, getRMDParser, getWorkspaceName, isCheckconsistency, isEnvDependent, isForce, listModules, listOrganisations, listRevisions, listTokenValues, locate, logArtifactAttempt, logAttempt, logIvyAttempt, parse, reportFailure, reportFailure, setAllownomd, setCheckconsistency, setChecksums, setDescriptor, setEnvDependent, setForce, setWorkspaceName, shouldReturnResolvedModule, toString`

### Methods inherited from class org.apache.ivy.plugins.resolver.AbstractResolver

`abortPublishTransaction, beginPublishTransaction, checkInterrupted, checkLatest, commitPublishTransaction, doValidate, dumpSettings, findModuleInCache, findModuleInCache, fromSystem, fromSystem, getCacheDownloadOptions, getCacheOptions, getChangingMatcherName, getChangingPattern, getDownloadOptions, getEventManager, getLatest, getLatestStrategy, getName, getNamespace, getParserSettings, getRepositoryCacheManager, getSettings, getSystemNode, getTypeName, hidePassword, isAfter, isValidate, saveModuleRevisionIfNeeded, setCache, setChangingMatcher, setChangingPattern, setCheckmodified, setEventManager, setLatest, setLatestStrategy, setName, setNamespace, setRepositoryCacheManager, setSettings, setValidate, toSystem, toSystem, toSystem, toSystem, toSystem, toSystem, validate`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### FAILING_REPO_DESCRIPTOR

    protected static final RepoDescriptor FAILING_REPO_DESCRIPTOR

### Constructor Detail

#### AbstractOSGiResolver

    public AbstractOSGiResolver()

### Method Detail

#### setRequirementStrategy

    public void setRequirementStrategy(AbstractOSGiResolver.RequirementStrategy importPackageStrategy)

#### setRequirementStrategy

    public void setRequirementStrategy(java.lang.String strategy)

#### setRepoDescriptor

    protected void setRepoDescriptor(RepoDescriptor repoDescriptor)

#### getRepository

    public URLRepository getRepository()

#### ensureInit

    protected void ensureInit()

#### init

    protected abstract void init()

#### getRepoDescriptor

    public RepoDescriptor getRepoDescriptor()

#### isAllownomd

    public boolean isAllownomd()

Overrides:
  `isAllownomd` in class `BasicResolver`

#### findIvyFileRef

    public ResolvedResource findIvyFileRef(DependencyDescriptor dd,
                                  ResolveData data)

Description copied from interface: `DependencyResolver`
Finds the module descriptor for the specified `DependencyDescriptor`. If this resolver can't find the module descriptor, `null` is returned.

Parameters:
  `dd` - the dependency descriptor
  `data` - the resolve data
Returns:
  the module descriptor, or `null`

#### findBundle

    public ResolvedResource[] findBundle(DependencyDescriptor dd,
                                ResolveData data,
                                java.util.Collection<ModuleDescriptor> mds)

#### findCapability

    public ResolvedResource[] findCapability(DependencyDescriptor dd,
                                    ResolveData data,
                                    java.util.Collection<ModuleDescriptor> mds)

#### findResource

    public ResolvedResource findResource(ResolvedResource[] rress,
                                ResourceMDParser rmdparser,
                                ModuleRevisionId mrid,
                                java.util.Date date)

Description copied from class: `BasicResolver`
When the resolver has many choices, this function helps choosing one

Overrides:
  `findResource` in class `BasicResolver`
Parameters:
  `rress` - the list of resolved resource which the resolver found to fit the requirement
  `rmdparser` - the parser of module descriptor
  `mrid` - the module being resolved
  `date` - the current date
Returns:
  the selected resource

#### findArtifactRef

    public ResolvedResource findArtifactRef(Artifact artifact,
                                   java.util.Date date)

Specified by:
  `findArtifactRef` in class `BasicResolver`

#### checkModuleDescriptorRevision

    protected void checkModuleDescriptorRevision(ModuleDescriptor systemMd,
                                     ModuleRevisionId systemMrid)

Overrides:
  `checkModuleDescriptorRevision` in class `BasicResolver`

#### filterNames

    protected java.util.Collection filterNames(java.util.Collection names)

Description copied from class: `BasicResolver`
Filters names before returning them in the findXXXNames or findTokenValues method.

Remember to call the super implementation when overriding this method.

Overrides:
  `filterNames` in class `BasicResolver`
Parameters:
  `names` - the list to filter.
Returns:
  the filtered list

#### findNames

    protected java.util.Collection findNames(java.util.Map tokenValues,
                                 java.lang.String token)

Specified by:
  `findNames` in class `BasicResolver`

#### listTokenValues

    public java.util.Map[] listTokenValues(java.lang.String[] tokens,
                                  java.util.Map criteria)

Description copied from interface: `DependencyResolver`
Same as `DependencyResolver.listTokenValues(String, Map)` but more generic.

Specified by:
  `listTokenValues` in interface `DependencyResolver`
Overrides:
  `listTokenValues` in class `AbstractResolver`
Parameters:
  `tokens` - the tokens of the query
  `criteria` - the token which have values
Returns:
  the list of token values (Map<Strin, String>[]), must not be `null`

#### get

    protected long get(Resource resource,
           java.io.File dest)
                throws java.io.IOException

Specified by:
  `get` in class `BasicResolver`
Throws:
  `java.io.IOException`

#### getResource

    protected Resource getResource(java.lang.String source)
                            throws java.io.IOException

Specified by:
  `getResource` in class `BasicResolver`
Throws:
  `java.io.IOException`

#### publish

    public void publish(Artifact artifact,
               java.io.File src,
               boolean overwrite)
                 throws java.io.IOException

Throws:
  `java.io.IOException`