1 /* 2 * Copyright (C) 2012, Google Inc. and others 3 * 4 * This program and the accompanying materials are made available under the 5 * terms of the Eclipse Distribution License v. 1.0 which is available at 6 * https://www.eclipse.org/org/documents/edl-v10.php. 7 * 8 * SPDX-License-Identifier: BSD-3-Clause 9 */ 10 11 package org.eclipse.jgit.internal.storage.dfs; 12 13 import org.eclipse.jgit.events.RepositoryEvent; 14 15 /** 16 * Describes the {@link org.eclipse.jgit.internal.storage.dfs.DfsPackFile} just 17 * before its index is loaded. Currently, DfsPackFile directly dispatches the 18 * event on {@link org.eclipse.jgit.lib.Repository#getGlobalListenerList}. Which 19 * means the call to {@link #getRepository} will always return null. 20 */ 21 public class BeforeDfsPackIndexLoadedEvent 22 extends RepositoryEvent<BeforeDfsPackIndexLoadedListener> { 23 private final DfsPackFile pack; 24 25 /** 26 * A new event triggered before a PackFile index is loaded. 27 * 28 * @param pack 29 * the pack 30 */ 31 public BeforeDfsPackIndexLoadedEvent(DfsPackFile pack) { 32 this.pack = pack; 33 } 34 35 /** 36 * Get the PackFile containing the index that will be loaded. 37 * 38 * @return the PackFile containing the index that will be loaded. 39 */ 40 public DfsPackFile getPackFile() { 41 return pack; 42 } 43 44 /** {@inheritDoc} */ 45 @Override 46 public Class<BeforeDfsPackIndexLoadedListener> getListenerType() { 47 return BeforeDfsPackIndexLoadedListener.class; 48 } 49 50 /** {@inheritDoc} */ 51 @Override 52 public void dispatch(BeforeDfsPackIndexLoadedListener listener) { 53 listener.onBeforeDfsPackIndexLoaded(this); 54 } 55 }