Package org.apache.sling.feature.io.artifacts

# Class ArtifactManagerConfig

java.lang.Object
org.apache.sling.feature.io.artifacts.ArtifactManagerConfig

All Implemented Interfaces:
  `ArtifactProviderContext`

public class ArtifactManagerConfig extends Object implements ArtifactProviderContext
This class holds the configuration of artifact manager. This class is not thread-safe.

## Constructor Summary

Constructors
Constructor
Description
`ArtifactManagerConfig()`
Create a new configuration object.

## Method Summary

Modifier and Type
Method
Description
`long`
`getCachedArtifacts()`
Get the number of cached artifacts
`@Nullable File`
`getCacheDirectory()`
Get the cache directory
`long`
`getDownloadedArtifacts()`
Get the number of downloaded artifacts
`long`
`getLocalArtifacts()`
Get the number of local artifacts
`@NotNull String[]`
`getRepositoryUrls()`
Get the repository urls.
`void`
`incCachedArtifacts()`
Inform about an artifact found in the cache.
`void`
`incDownloadedArtifacts()`
Inform about an artifact being downloaded
`void`
`incLocalArtifacts()`
Inform about an artifact found locally.
`boolean`
`isUseMvn()`
Should mvn be used if an artifact can't be found in the repositories
`void`
`setCacheDirectory(File dir)`
Set the cache directory
`void`
`setRepositoryUrls(String[] urls)`
Set the repository urls
`void`
`setUseMvn(boolean useMvn)`
Set whether mvn should be used to get artifacts.

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

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

## Constructor Details

### ArtifactManagerConfig

public ArtifactManagerConfig()
Create a new configuration object. Set the default values

## Method Details

### setRepositoryUrls

public void setRepositoryUrls(String[] urls)
Set the repository urls

Parameters:
  `urls` - The repository urls

### getRepositoryUrls

@NotNull public @NotNull String[] getRepositoryUrls()
Get the repository urls. A repository url does not end with a slash.

Returns:
  The repository urls.

### getCacheDirectory

@Nullable public @Nullable File getCacheDirectory()
Get the cache directory

Specified by:
  `getCacheDirectory` in interface `ArtifactProviderContext`
Returns:
  The cache directory or `null` if none has been set

### setCacheDirectory

public void setCacheDirectory(File dir)
Set the cache directory

Parameters:
  `dir` - The cache directory

### incCachedArtifacts

public void incCachedArtifacts()
Description copied from interface: `ArtifactProviderContext`
Inform about an artifact found in the cache.

Specified by:
  `incCachedArtifacts` in interface `ArtifactProviderContext`

### incDownloadedArtifacts

public void incDownloadedArtifacts()
Description copied from interface: `ArtifactProviderContext`
Inform about an artifact being downloaded

Specified by:
  `incDownloadedArtifacts` in interface `ArtifactProviderContext`

### incLocalArtifacts

public void incLocalArtifacts()
Description copied from interface: `ArtifactProviderContext`
Inform about an artifact found locally.

Specified by:
  `incLocalArtifacts` in interface `ArtifactProviderContext`

### getCachedArtifacts

public long getCachedArtifacts()
Get the number of cached artifacts

Returns:
  The number of cached artifacts

### getDownloadedArtifacts

public long getDownloadedArtifacts()
Get the number of downloaded artifacts

Returns:
  The number of downloaded artifacts

### getLocalArtifacts

public long getLocalArtifacts()
Get the number of local artifacts

Returns:
  The number of local artifacts

### isUseMvn

public boolean isUseMvn()
Should mvn be used if an artifact can't be found in the repositories

Returns:
  Whether mvn command should be used.
Since:
  1.1.0

### setUseMvn

public void setUseMvn(boolean useMvn)
Set whether mvn should be used to get artifacts.

Parameters:
  `useMvn` - flag for enabling mvn
Since:
  1.1.0