org.apache.maven.shared.artifact.filter

## Class ScopeArtifactFilter

- java.lang.Object
- - org.apache.maven.shared.artifact.filter.ScopeArtifactFilter

All Implemented Interfaces:
  org.apache.maven.artifact.resolver.filter.ArtifactFilter, StatisticsReportingArtifactFilter

    public class ScopeArtifactFilter
    extends Object
    implements org.apache.maven.artifact.resolver.filter.ArtifactFilter, StatisticsReportingArtifactFilter

`ArtifactFilter` implementation that selects artifacts based on their scopes.

NOTE: None of the fine-grained scopes imply other scopes when enabled; when fine-grained scope control is used, each scope must be enabled separately, UNLESS the corresponding XXXWithImplications() method is used to enable that scope.

### Constructor Summary

Constructors
Constructor and Description
`ScopeArtifactFilter()` Constructor that is meant to be used with fine-grained manipulation to enable/disable specific scopes using the associated mutator methods.
`ScopeArtifactFilter(String scope)` Constructor that uses the implied nature of Maven scopes to determine which artifacts to include.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `hasMissedCriteria()`
`boolean` `include(org.apache.maven.artifact.Artifact artifact)`
`boolean` `isIncludeCompileScope()`
`boolean` `isIncludeProvidedScope()`
`boolean` `isIncludeRuntimeScope()`
`boolean` `isIncludeSystemScope()`
`boolean` `isIncludeTestScope()`
`void` `reportFilteredArtifacts(org.codehaus.plexus.logging.Logger logger)`
`void` `reportMissedCriteria(org.codehaus.plexus.logging.Logger logger)`
`ScopeArtifactFilter` `reset()` Reset hit counts and tracking of filtered artifacts, BUT NOT ENABLED SCOPES.
`ScopeArtifactFilter` `setIncludeCompileScope(boolean pIncludeCompileScope)`
`ScopeArtifactFilter` `setIncludeCompileScopeWithImplications(boolean enabled)` Manages the following scopes: system provided compile
`ScopeArtifactFilter` `setIncludeNullScope(boolean enable)` Determine whether artifacts that have a null scope are included or excluded.
`ScopeArtifactFilter` `setIncludeProvidedScope(boolean pIncludeProvidedScope)`
`ScopeArtifactFilter` `setIncludeRuntimeScope(boolean pIncludeRuntimeScope)`
`ScopeArtifactFilter` `setIncludeRuntimeScopeWithImplications(boolean enabled)` Manages the following scopes: compile runtime
`ScopeArtifactFilter` `setIncludeSystemScope(boolean pIncludeSystemScope)`
`ScopeArtifactFilter` `setIncludeTestScope(boolean pIncludeTestScope)`
`ScopeArtifactFilter` `setIncludeTestScopeWithImplications(boolean enabled)` Manages the following scopes: system provided compile runtime test
`String` `toString()`

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

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

### Constructor Detail

#### ScopeArtifactFilter

    public ScopeArtifactFilter()

Constructor that is meant to be used with fine-grained manipulation to enable/disable specific scopes using the associated mutator methods.

#### ScopeArtifactFilter

    public ScopeArtifactFilter(String scope)

Constructor that uses the implied nature of Maven scopes to determine which artifacts to include. For instance, 'test' scope implies compile, provided, and runtime, while 'runtime' scope implies only compile.

Parameters:
  `scope` - the scope

### Method Detail

#### include

    public boolean include(org.apache.maven.artifact.Artifact artifact)

Specified by:
  `include` in interface `org.apache.maven.artifact.resolver.filter.ArtifactFilter`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`
Returns:
  Information converted to a string.

#### reportFilteredArtifacts

    public void reportFilteredArtifacts(org.codehaus.plexus.logging.Logger logger)

Specified by:
  `reportFilteredArtifacts` in interface `StatisticsReportingArtifactFilter`
Parameters:
  `logger` - The logger.

#### reportMissedCriteria

    public void reportMissedCriteria(org.codehaus.plexus.logging.Logger logger)

Specified by:
  `reportMissedCriteria` in interface `StatisticsReportingArtifactFilter`
Parameters:
  `logger` - The logger.

#### hasMissedCriteria

    public boolean hasMissedCriteria()

Specified by:
  `hasMissedCriteria` in interface `StatisticsReportingArtifactFilter`
Returns:
  `true` if missed cireteria `false` otherwise.

#### isIncludeCompileScope

    public boolean isIncludeCompileScope()

Returns:
  `includeCompileScope`

#### setIncludeCompileScope

    public ScopeArtifactFilter setIncludeCompileScope(boolean pIncludeCompileScope)

Parameters:
  `pIncludeCompileScope` - true/false.
Returns:
  `ScopeArtifactFilter`

#### isIncludeRuntimeScope

    public boolean isIncludeRuntimeScope()

Returns:
  `includeRuntimeScope`

#### setIncludeRuntimeScope

    public ScopeArtifactFilter setIncludeRuntimeScope(boolean pIncludeRuntimeScope)

Parameters:
  `pIncludeRuntimeScope` - true/false
Returns:
  `ScopeArtifactFilter`

#### isIncludeTestScope

    public boolean isIncludeTestScope()

Returns:
  `includeTestScope`

#### setIncludeTestScope

    public ScopeArtifactFilter setIncludeTestScope(boolean pIncludeTestScope)

Parameters:
  `pIncludeTestScope` - `includeTestScope`
Returns:
  `ScopeArtifactFilter`

#### isIncludeProvidedScope

    public boolean isIncludeProvidedScope()

Returns:
  `includeProvidedScope`

#### setIncludeProvidedScope

    public ScopeArtifactFilter setIncludeProvidedScope(boolean pIncludeProvidedScope)

Parameters:
  `pIncludeProvidedScope` - yes/no.
Returns:
  `ScopeArtifactFilter()`

#### isIncludeSystemScope

    public boolean isIncludeSystemScope()

Returns:
  `includeSystemScope`

#### setIncludeSystemScope

    public ScopeArtifactFilter setIncludeSystemScope(boolean pIncludeSystemScope)

#### setIncludeCompileScopeWithImplications

    public ScopeArtifactFilter setIncludeCompileScopeWithImplications(boolean enabled)

Manages the following scopes:

- system
- provided
- compile

Parameters:
  `enabled` - whether specified scopes should be included
Returns:
  this instance

#### setIncludeRuntimeScopeWithImplications

    public ScopeArtifactFilter setIncludeRuntimeScopeWithImplications(boolean enabled)

Manages the following scopes:

- compile
- runtime

Parameters:
  `enabled` - whether specified scopes should be included
Returns:
  this instance

#### setIncludeTestScopeWithImplications

    public ScopeArtifactFilter setIncludeTestScopeWithImplications(boolean enabled)

Manages the following scopes:

- system
- provided
- compile
- runtime
- test

Parameters:
  `enabled` - whether specified scopes should be included
Returns:
  this instance

#### setIncludeNullScope

    public ScopeArtifactFilter setIncludeNullScope(boolean enable)

Determine whether artifacts that have a null scope are included or excluded.

Parameters:
  `enable` - whether null-scope should be included
Returns:
  this instance

#### reset

    public ScopeArtifactFilter reset()

Reset hit counts and tracking of filtered artifacts, BUT NOT ENABLED SCOPES.

Returns:
  this instance