RepositoryEvent.java
- /*
- * Copyright (C) 2010, Google Inc.
- * Copyright (C) 2008, Robin Rosenberg <robin.rosenberg@dewire.com> and others
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0 which is available at
- * https://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
- package org.eclipse.jgit.events;
- import org.eclipse.jgit.lib.Repository;
- /**
- * Describes a modification made to a repository.
- *
- * @param <T>
- * type of listener this event dispatches to.
- */
- public abstract class RepositoryEvent<T extends RepositoryListener> {
- private Repository repository;
- /**
- * Set the repository this event occurred on.
- * <p>
- * This method should only be invoked once on each event object, and is
- * automatically set by
- * {@link org.eclipse.jgit.lib.Repository#fireEvent(RepositoryEvent)}.
- *
- * @param r
- * the repository.
- */
- public void setRepository(Repository r) {
- if (repository == null)
- repository = r;
- }
- /**
- * Get the repository that was changed
- *
- * @return the repository that was changed
- */
- public Repository getRepository() {
- return repository;
- }
- /**
- * Get type of listener this event dispatches to
- *
- * @return type of listener this event dispatches to
- */
- public abstract Class<T> getListenerType();
- /**
- * Dispatch this event to the given listener.
- *
- * @param listener
- * listener that wants this event.
- */
- public abstract void dispatch(T listener);
- /** {@inheritDoc} */
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- String type = getClass().getSimpleName();
- if (repository == null)
- return type;
- return type + "[" + repository + "]";
- }
- }