<!--
%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{Dispacher and registry}
-->

```{r global_options, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(rrecsys)
```

## Dispatcher

Similar to other packages in R (i.e.: proxy, etc.), rrecsys uses a formal method in combination to a registry to execute a specific function. The non-primitive function _rrecsys_ will process only S4 object of type _dataSet_. The dispatcher has two main arguments, the dataset (_data_), and the algorithm name (_alg_, which isn't case sensitive and might be matched even partially) the rest are the ellipses which depend on the required algorithm:
```{r, eval=FALSE}
# Usage
rrecsys(data, alg, ...)
```
The argument _data_, class _dataSet_, represents the training set.

The argument _alg_, class _character_, represents the method to execute on the training set.

The _elipses_ changed based on the required algorithm.

## The registry
The registry is a structure that may be used even autonomously. The main function of registry would be to display available recommender algorithms in rrecsys and theirs default configuration. To call it:
```{r}
rrecsysRegistry
```
