# `Obscura.Recognizer`
[🔗](https://github.com/hfiguera/obscura/blob/v0.2.0/lib/obscura/recognizer.ex#L1)

Behaviour for Obscura recognizers.

# `analyze`

```elixir
@callback analyze(
  String.t(),
  keyword()
) ::
  [Obscura.Analyzer.Result.t()]
  | {:ok, [Obscura.Analyzer.Result.t()]}
  | {:error, term()}
```

# `analyze_many`
*optional* 

```elixir
@callback analyze_many(
  [String.t()],
  keyword()
) ::
  [[Obscura.Analyzer.Result.t()]]
  | {:ok, [[Obscura.Analyzer.Result.t()]]}
  | {:error, term()}
```

# `entity`
*optional* 

```elixir
@callback entity() :: atom()
```

# `name`

```elixir
@callback name() :: atom()
```

# `supported_entities`

```elixir
@callback supported_entities() :: [atom()]
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
