001/*
002 *   Copyright 2024 Vonage
003 *
004 *   Licensed under the Apache License, Version 2.0 (the "License");
005 *   you may not use this file except in compliance with the License.
006 *   You may obtain a copy of the License at
007 *
008 *        http://www.apache.org/licenses/LICENSE-2.0
009 *
010 *   Unless required by applicable law or agreed to in writing, software
011 *   distributed under the License is distributed on an "AS IS" BASIS,
012 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *   See the License for the specific language governing permissions and
014 *   limitations under the License.
015 */
016package com.vonage.client.application.capabilities;
017
018import com.vonage.client.common.Webhook;
019
020/**
021 * Verify capability configuration settings.
022 *
023 * @since 8.6.0
024 */
025public final class Verify extends Capability {
026
027    private Verify() {
028    }
029
030    private Verify(Builder builder) {
031        super(builder);
032    }
033
034    @Override
035    public Type getType() {
036        return Type.VERIFY;
037    }
038
039    /**
040     * Entry point for constructing an instance of this class.
041     *
042     * @return A new Builder.
043     */
044    public static Builder builder() {
045        return new Builder();
046    }
047
048    public static final class Builder extends Capability.Builder<Verify, Builder> {
049
050        private Builder() {}
051
052        @Override
053        public Builder addWebhook(Webhook.Type type, Webhook webhook) {
054            return super.addWebhook(type, webhook);
055        }
056
057        /**
058         * Builds the Verify object with this builder's properties.
059         *
060         * @return A new Verify capability.
061         */
062        @Override
063        public Verify build() {
064            return new Verify(this);
065        }
066    }
067}