Class CredentialProxy

java.lang.Object
com.mwdle.bitwarden.converters.CredentialProxy
All Implemented Interfaces:
Serializable, InvocationHandler

public final class CredentialProxy extends Object implements InvocationHandler, Serializable
A lazy-loading proxy for Bitwarden credentials.

Provides non-secret data (ID, description) instantly from memory, and defers fetching secrets via the Bitwarden CLI until the exact moment they are requested.

See Also:
  • Method Details

    • create

      @NonNull public static <T extends com.cloudbees.plugins.credentials.common.StandardCredentials> T create(@NonNull String id, @NonNull BitwardenItemMetadata metadata, @NonNull Class<T> credentialInterface, @NonNull Class<? extends T> credentialClass, @NonNull Class<? extends CredentialConverter> converterClass)
      Returns a Jenkins credential proxy.
      Type Parameters:
      T - the type of the standard credential interface
      Parameters:
      id - the Jenkins credential ID
      metadata - the Bitwarden item metadata
      credentialInterface - the standard credential interface this proxy implements
      credentialClass - the concrete Jenkins credential type this proxy represents
      converterClass - the class of the converter that created this proxy
      Returns:
      a proxy implementing the specified standard credential interface
    • invoke

      @CheckForNull public Object invoke(@NonNull Object proxy, @NonNull Method method, @CheckForNull Object[] args) throws Throwable
      Specified by:
      invoke in interface InvocationHandler
      Throws:
      Throwable