diff options
Diffstat (limited to 'jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetInstallConfig.java')
-rw-r--r-- | jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetInstallConfig.java | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetInstallConfig.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetInstallConfig.java new file mode 100644 index 0000000000..2f82f62b9e --- /dev/null +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetInstallConfig.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * Copyright (c) 2010 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: + * Oracle - initial API and implementation + *******************************************************************************/ +package org.eclipse.jpt.jaxb.core.internal.facet; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDescription; +import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate; +import org.eclipse.wst.common.project.facet.core.ActionConfig; +import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy; +import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; + +public class JaxbFacetInstallConfig + extends ActionConfig { + + private PropertyChangeSupport changeSupport; + + public static final String FACETED_PROJECT_WORKING_COPY_PROPERTY = "facetedProjectWorkingCopy"; + + public static final String PROJECT_FACET_VERSION_PROPERTY = "projectFacetVersion"; + + public static final String PLATFORM_PROPERTY = "platform"; + private JaxbPlatformDescription platform; + + public static final String LIBRARY_INSTALL_DELEGATE_PROPERTY = "libraryInstallDelegate"; + private LibraryInstallDelegate libraryInstallDelegate; + + + + public JaxbFacetInstallConfig() { + super(); + this.changeSupport = new PropertyChangeSupport(this); + } + + + public void addPropertyChangeListener(PropertyChangeListener listener) { + this.changeSupport.addPropertyChangeListener(listener); + } + + public void removePropertyChangeListener(PropertyChangeListener listener) { + this.changeSupport.removePropertyChangeListener(listener); + } + + @Override + public void setFacetedProjectWorkingCopy(IFacetedProjectWorkingCopy fpjwc) { + IFacetedProjectWorkingCopy oldFpjwc = getFacetedProjectWorkingCopy(); + super.setFacetedProjectWorkingCopy(fpjwc); + this.changeSupport.firePropertyChange(FACETED_PROJECT_WORKING_COPY_PROPERTY, oldFpjwc, fpjwc); + } + + @Override + public void setProjectFacetVersion(IProjectFacetVersion fv) { + IProjectFacetVersion oldFv = getProjectFacetVersion(); + super.setProjectFacetVersion(fv); + this.changeSupport.firePropertyChange(PROJECT_FACET_VERSION_PROPERTY, oldFv, fv); + } + + public JaxbPlatformDescription getPlatform() { + return this.platform; + } + + public void setPlatform(JaxbPlatformDescription platform) { + JaxbPlatformDescription oldPlatform = this.platform; + this.platform = platform; + this.changeSupport.firePropertyChange(PLATFORM_PROPERTY, oldPlatform, platform); + } + + public LibraryInstallDelegate getLibraryInstallDelegate() { + return this.libraryInstallDelegate; + } + + public void setLibraryInstallDelegate(LibraryInstallDelegate libraryInstallDelegate) { + LibraryInstallDelegate oldLibraryInstallDelegate = this.libraryInstallDelegate; + this.libraryInstallDelegate = libraryInstallDelegate; + this.changeSupport.firePropertyChange( + LIBRARY_INSTALL_DELEGATE_PROPERTY, oldLibraryInstallDelegate, libraryInstallDelegate); + } +} |