All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.swak.license.api.LicenseManagerBuilderMixin Maven / Gradle / Ivy

The newest version!
package com.swak.license.api;

import com.swak.license.api.auth.Authentication;
import com.swak.license.api.auth.AuthenticationChildBuilder;
import com.swak.license.api.builder.GenChildBuilder;
import com.swak.license.api.crypto.EncryptionChildBuilder;

/**
 * A mix-in for a builder for license managers.
 *
 * @param  the specialized type for fluent programming.
 */

import com.swak.license.api.io.Filter;

public interface LicenseManagerBuilderMixin> {

    /**
     * Returns an injection for a keystore based authentication.
     * Call its {@link GenChildBuilder#up} method to build and inject the
     * configured authentication into this builder and return it.
     *
     * @see #authentication(Authentication)
     */
    AuthenticationChildBuilder authentication();

    /**
     * Sets the authentication.
     *
     * @return {@code this}.
     */
    This authentication(Authentication authentication);

    /**
     * Returns an injection for a password based encryption.
     * Call its {@link GenChildBuilder#up} method to build and inject the
     * configured encryption into this builder and return it.
     *
     * @see #encryption(Filter)
     */
    EncryptionChildBuilder encryption();

    /**
     * Sets the encryption.
     *
     * @return {@code this}.
     */
    This encryption(Filter encryption);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy