private void extractParams()

in module/geb-core/src/main/groovy/geb/content/PageContentTemplateParams.groovy [96:124]


    private void extractParams(Map<String, ?> params) {
        def paramsToProcess = params == null ? Collections.emptyMap() : new HashMap<String, Object>(params)

        cache = toBoolean(paramsToProcess, 'cache', config.cache)

        def toParam = paramsToProcess.remove("to")
        toSingle = extractToSingle(toParam)
        toList = extractToList(toParam)

        if (toParam && toSingle == null && toList == null) {
            throwInvalidContent("contains 'to' content parameter which is not a class or instance that extends Page or a list of classes or instances that extend Page: $toParam")
        }

        extractBounds(paramsToProcess)

        validateRequired(paramsToProcess[REQUIRED])
        required = toBoolean(paramsToProcess, REQUIRED, max != 0 && min != 0)

        page = extractPage(paramsToProcess)

        waitCondition = extractClosure(paramsToProcess, 'waitCondition') ?: config.waitCondition

        def waitParam = toObject(paramsToProcess, "wait", config.wait)
        wait = waitParam != null ? waitParam : waitCondition != null

        toWait = toObject(paramsToProcess, "toWait", config.toWait)

        throwIfAnyParamsLeft(paramsToProcess)
    }