class DataConfigSourceResource extends AbstractDataResource {

  @GET
  @Path("configs")
  public Response search(
    @QueryParam("type") final String typeStr,
    @QueryParam("versionCorrection") final String versionCorrectionStr,
    @QueryParam("name") final String name) {
    final Class<?> type = ReflectionUtils.loadClass(typeStr);
    final VersionCorrection versionCorrection = (versionCorrectionStr != null) ? VersionCorrection.parse(versionCorrectionStr) : VersionCorrection.LATEST;
    if (name == null) {
      return responseOkObject(configItemCollectionResult(getConfigSource().getAll(type, versionCorrection)));
    } else {
      return responseOkObject(configItemCollectionResult(getConfigSource().get(type, name, versionCorrection)));
    }
  }

  public  DataConfigSourceResource(final ConfigSource configSource);

}