public static void register(URIPattern repoPattern, URIPattern datasetPattern,
                              OptionBuilder<DatasetRepository> repoBuilder) {
    REPO_PATTERNS.put(repoPattern, repoBuilder);
    DATASET_PATTERNS.put(datasetPattern, repoBuilder);
    // the first dataset pattern for a repository pattern is always used
    if (!REPO_TO_DATASET_PATTERNS.containsKey(repoPattern)) {
      REPO_TO_DATASET_PATTERNS.put(repoPattern, datasetPattern);
    }
  }
public static void register ( URIPattern repoPattern , URIPattern datasetPattern , OptionBuilder < DatasetRepository > repoBuilder ) { REPO_PATTERNS . put ( repoPattern , repoBuilder ) ; DATASET_PATTERNS . put ( datasetPattern , repoBuilder ) ; if ( ! REPO_TO_DATASET_PATTERNS . containsKey ( repoPattern ) ) { REPO_TO_DATASET_PATTERNS . put ( repoPattern , datasetPattern ) ; } }
Registers a repository and a dataset {@link URIPattern} using a repository
{@link OptionBuilder}.
<p>
Both patterns should produce options used by the builder to produce a
{@link DatasetRepository}. The dataset pattern should also produce a
"dataset" option that will be passed to the repository's load method as
the dataset name.

@param repoPattern a {@code URIPattern} for a {@code DatasetRepository}
@param datasetPattern a {@code URIPattern} for a {@code Dataset}
@param repoBuilder a {@code OptionBuilder} valid for both URIs