# Interface IContentTypeManager.ISelectionPolicy

Enclosing interface:
  `IContentTypeManager`

public static interface IContentTypeManager.ISelectionPolicy
A policy for refining the set of content types that should be accepted during content type matching operations.

Clients may implement this interface.

Since:
  3.1
See Also:
  - `IContentTypeManager.getMatcher(IContentTypeManager.ISelectionPolicy, IScopeContext)`

## Method Summary

Modifier and Type
Method
Description
`IContentType[]`
`select(IContentType[] candidates, boolean fileName, boolean content)`
Returns a subset of the given content types sorted by using a custom criterion.

## Method Details

### select

IContentType[] select(IContentType[] candidates, boolean fileName, boolean content)
Returns a subset of the given content types sorted by using a custom criterion.

The given array of content types has already been sorted using the platform rules. If this object follows the same rules, further sorting is not necessary.

The type of matching being performed (name, contents or name + contents) might affect the outcome for this method. For instance, for file name-only matching, the more general type could have higher priority. For content-based matching, the more specific content type could be preferred instead.

Parameters:
  `candidates` - an array containing content types matching some query
  `fileName` - whether it is a file name-based content type matching
  `content` - whether its a content-based content type matching
Returns:
  an array of content types