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

info.freelibrary.iiif.presentation.v3.services.auth.AuthService Maven / Gradle / Ivy

There is a newer version: 0.12.4
Show newest version

package info.freelibrary.iiif.presentation.v3.services.auth;

import java.net.URI;

import com.fasterxml.jackson.annotation.JsonGetter;

import info.freelibrary.iiif.presentation.v3.Service;
import info.freelibrary.iiif.presentation.v3.utils.JsonKeys;

/**
 * An interface for authentication services.
 */
public interface AuthService> extends Service {

    /**
     * Sets the auth service profile.
     *
     * @param aProfile The profile
     * @return The auth service
     */
    T setProfile(Profile aProfile);

    /**
     * Gets the service type.
     *
     * @return The service type
     */
    @Override
    @JsonGetter(JsonKeys.V2_TYPE)
    default String getType() {
        return getClass().getSimpleName();
    }

    /**
     * Interface for {@link AuthService} profiles.
     */
    interface Profile extends Service.Profile {

        @Override
        String string();

        @Override
        URI uri();

    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy