001package org.eclipse.aether.internal.impl;
002
003/*
004 * Licensed to the Apache Software Foundation (ASF) under one
005 * or more contributor license agreements.  See the NOTICE file
006 * distributed with this work for additional information
007 * regarding copyright ownership.  The ASF licenses this file
008 * to you under the Apache License, Version 2.0 (the
009 * "License"); you may not use this file except in compliance
010 * with the License.  You may obtain a copy of the License at
011 * 
012 *  http://www.apache.org/licenses/LICENSE-2.0
013 * 
014 * Unless required by applicable law or agreed to in writing,
015 * software distributed under the License is distributed on an
016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017 * KIND, either express or implied.  See the License for the
018 * specific language governing permissions and limitations
019 * under the License.
020 */
021
022import org.eclipse.aether.RepositoryEvent;
023import org.eclipse.aether.RepositoryListener;
024import org.eclipse.aether.impl.RepositoryEventDispatcher;
025
026import static java.util.Objects.requireNonNull;
027
028/**
029 */
030public class StubRepositoryEventDispatcher
031    implements RepositoryEventDispatcher
032{
033
034    public void dispatch( RepositoryEvent event )
035    {
036        requireNonNull( event, "event cannot be null" );
037        RepositoryListener listener = event.getSession().getRepositoryListener();
038        if ( listener == null )
039        {
040            return;
041        }
042
043        switch ( event.getType() )
044        {
045            case ARTIFACT_DEPLOYED:
046                listener.artifactDeployed( event );
047                break;
048            case ARTIFACT_DEPLOYING:
049                listener.artifactDeploying( event );
050                break;
051            case ARTIFACT_DESCRIPTOR_INVALID:
052                listener.artifactDescriptorInvalid( event );
053                break;
054            case ARTIFACT_DESCRIPTOR_MISSING:
055                listener.artifactDescriptorMissing( event );
056                break;
057            case ARTIFACT_DOWNLOADED:
058                listener.artifactDownloaded( event );
059                break;
060            case ARTIFACT_DOWNLOADING:
061                listener.artifactDownloading( event );
062                break;
063            case ARTIFACT_INSTALLED:
064                listener.artifactInstalled( event );
065                break;
066            case ARTIFACT_INSTALLING:
067                listener.artifactInstalling( event );
068                break;
069            case ARTIFACT_RESOLVED:
070                listener.artifactResolved( event );
071                break;
072            case ARTIFACT_RESOLVING:
073                listener.artifactResolving( event );
074                break;
075            case METADATA_DEPLOYED:
076                listener.metadataDeployed( event );
077                break;
078            case METADATA_DEPLOYING:
079                listener.metadataDeploying( event );
080                break;
081            case METADATA_DOWNLOADED:
082                listener.metadataDownloaded( event );
083                break;
084            case METADATA_DOWNLOADING:
085                listener.metadataDownloading( event );
086                break;
087            case METADATA_INSTALLED:
088                listener.metadataInstalled( event );
089                break;
090            case METADATA_INSTALLING:
091                listener.metadataInstalling( event );
092                break;
093            case METADATA_INVALID:
094                listener.metadataInvalid( event );
095                break;
096            case METADATA_RESOLVED:
097                listener.metadataResolved( event );
098                break;
099            case METADATA_RESOLVING:
100                listener.metadataResolving( event );
101                break;
102            default:
103                throw new IllegalStateException( "unknown repository event type " + event.getType() );
104        }
105    }
106
107}