blob: 0b7ac4141a4f5c2e6bd940676321916aafc74454 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2008 Oracle
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Konstantin Komissarchik - initial implementation and ongoing maintenance
******************************************************************************/
package org.eclipse.wst.common.project.facet.core.events.internal;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
import org.eclipse.wst.common.project.facet.core.events.IProjectFacetsChangedEvent;
/**
* @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
*/
public final class ProjectFacetsChangedEvent
extends FacetedProjectEvent
implements IProjectFacetsChangedEvent
{
private final Set<IProjectFacetVersion> addedFacets;
private final Set<IProjectFacetVersion> removedFacets;
private final Set<IProjectFacetVersion> changedVersions;
private final Set<IProjectFacetVersion> allAffectedFacets;
public ProjectFacetsChangedEvent( final IFacetedProjectWorkingCopy fpjwc,
final Set<IProjectFacetVersion> addedFacets,
final Set<IProjectFacetVersion> removedFacets,
final Set<IProjectFacetVersion> changedVersions )
{
super( fpjwc, IFacetedProjectEvent.Type.PROJECT_FACETS_CHANGED );
this.addedFacets = Collections.unmodifiableSet( addedFacets );
this.removedFacets = Collections.unmodifiableSet( removedFacets );
this.changedVersions = Collections.unmodifiableSet( changedVersions );
final Set<IProjectFacetVersion> allAffectedFacets = new HashSet<IProjectFacetVersion>();
allAffectedFacets.addAll( addedFacets );
allAffectedFacets.addAll( removedFacets );
allAffectedFacets.addAll( changedVersions );
this.allAffectedFacets = Collections.unmodifiableSet( allAffectedFacets );
}
public Set<IProjectFacetVersion> getAddedFacets()
{
return this.addedFacets;
}
public Set<IProjectFacetVersion> getRemovedFacets()
{
return this.removedFacets;
}
public Set<IProjectFacetVersion> getFacetsWithChangedVersions()
{
return this.changedVersions;
}
public Set<IProjectFacetVersion> getAllAffectedFacets()
{
return this.allAffectedFacets;
}
}