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

de.schlichtherle.truezip.key.KeyManager Maven / Gradle / Ivy

Go to download

The file system driver family for ZIP and related archive file types. Add the JAR artifact of this module to the run time class path to make its file system drivers available for service location in the client API modules.

There is a newer version: 7.7.10
Show newest version
/*
 * Copyright (C) 2005-2013 Schlichtherle IT Services.
 * All rights reserved. Use is subject to license terms.
 */
package de.schlichtherle.truezip.key;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import java.net.URI;
import javax.annotation.concurrent.ThreadSafe;

/**
 * A container for key providers for reading and writing protected resources.
 * 

* Implementations must be safe for multi-threading. * * @param The type of the secret keys. * @author Christian Schlichtherle */ @ThreadSafe public interface KeyManager { /** * Returns the mapped key provider for the given protected resource. * If no key provider is mapped yet, a new key provider is created and * returned. * * @param resource the URI of the protected resource. * @return The key provider mapped for the protected resource. */ KeyProvider getKeyProvider(URI resource); /** * Moves the mapped key provider from the URI {@code oldResource} to * {@code newResource}. * * @param oldResource the old URI of the protected resource. * @param newResource the new URI of the protected resource. * @return The key provider which was previously mapped for the protected * resource {@code newResource}. * @throws IllegalArgumentException if {@code oldResource} compares * {@link URI#equals(Object) equal} to {@code newResource}. */ @Nullable KeyProvider moveKeyProvider(URI oldResource, URI newResource); /** * Removes the mapped key provider for the given protected resource. * It is an error to use the returned key provider. * * @param resource the URI of the protected resource. * @return The key provider which was previously mapped for the protected * resource. */ @CheckForNull KeyProvider removeKeyProvider(URI resource); /** * Returns a priority to help the key manager service locator. * The greater number wins! * The default value should be {@code 0}. * * @return A priority to help the key manager service locator. */ public int getPriority(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy