Package hudson.model

Class FingerprintMap

    • Constructor Detail

      • FingerprintMap

        public FingerprintMap()
    • Method Detail

      • isReady

        public boolean isReady()
        Returns true if there's some data in the fingerprint database.
      • getOrCreate

        @NonNull
        public Fingerprint getOrCreate​(@CheckForNull
                                       AbstractBuild build,
                                       @NonNull
                                       String fileName,
                                       @NonNull
                                       byte[] md5sum)
                                throws IOException
        Parameters:
        build - set to non-null if Fingerprint to be created (if so) will have this build as the owner. Otherwise null, to indicate an owner-less build.
        Throws:
        IOException - Loading error
      • create

        @NonNull
        protected Fingerprint create​(@NonNull
                                     String md5sum,
                                     @NonNull
                                     hudson.model.FingerprintMap.FingerprintParams createParams)
                              throws IOException
        Description copied from class: KeyedDataStorage
        Creates a new data object.

        This method is called by KeyedDataStorage.getOrCreate(String,Object) if the data that matches the specified key does not exist.

        Because of concurrency, another thread might call KeyedDataStorage.get(String) as soon as a new data object is created, so it's important that this method returns a properly initialized "valid" object.

        Specified by:
        create in class KeyedDataStorage<Fingerprint,​hudson.model.FingerprintMap.FingerprintParams>
        Returns:
        Created item. If construction fails, abort with an exception.
        Throws:
        IOException - if the method fails to create a new data object, it can throw IOException (or any other exception) and that will be propagated to the caller.
      • load

        @CheckForNull
        protected Fingerprint load​(@NonNull
                                   String key)
                            throws IOException
        Description copied from class: KeyedDataStorage
        Attempts to load an existing data object from disk.

        KeyedDataStorage class serializes the requests so that no two threads call the KeyedDataStorage.load(String) method with the same parameter concurrently. This ensures that there's only up to one data object for any key.

        Specified by:
        load in class KeyedDataStorage<Fingerprint,​hudson.model.FingerprintMap.FingerprintParams>
        Returns:
        null if no such data exists.
        Throws:
        IOException - if load operation fails. This exception will be propagated to the caller.