KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > pde > internal > core > product > ProductObject


1 /*******************************************************************************
2  * Copyright (c) 2005, 2007 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  *******************************************************************************/

11 package org.eclipse.pde.internal.core.product;
12
13 import org.eclipse.core.runtime.PlatformObject;
14 import org.eclipse.pde.core.IModelChangeProvider;
15 import org.eclipse.pde.core.ModelChangedEvent;
16 import org.eclipse.pde.internal.core.iproduct.IProduct;
17 import org.eclipse.pde.internal.core.iproduct.IProductModel;
18 import org.eclipse.pde.internal.core.iproduct.IProductObject;
19 import org.eclipse.pde.internal.core.util.PDEXMLHelper;
20
21
22 public abstract class ProductObject extends PlatformObject implements IProductObject {
23
24     private transient IProductModel fModel;
25
26     public ProductObject(IProductModel model) {
27         fModel = model;
28     }
29
30     /* (non-Javadoc)
31      * @see org.eclipse.pde.internal.core.iproduct.IProductObject#getModel()
32      */

33     public IProductModel getModel() {
34         return fModel;
35     }
36     
37     public void setModel(IProductModel model) {
38         fModel = model;
39     }
40
41     /* (non-Javadoc)
42      * @see org.eclipse.pde.internal.core.iproduct.IProductObject#getProduct()
43      */

44     public IProduct getProduct() {
45         return getModel().getProduct();
46     }
47
48     protected void firePropertyChanged(
49         String JavaDoc property,
50         Object JavaDoc oldValue,
51         Object JavaDoc newValue) {
52         firePropertyChanged(this, property, oldValue, newValue);
53     }
54     
55     protected void firePropertyChanged(
56         IProductObject object,
57         String JavaDoc property,
58         Object JavaDoc oldValue,
59         Object JavaDoc newValue) {
60         if (fModel.isEditable()) {
61             IModelChangeProvider provider = fModel;
62             provider.fireModelObjectChanged(object, property, oldValue, newValue);
63         }
64     }
65     
66     protected void fireStructureChanged(IProductObject child, int changeType) {
67         fireStructureChanged(new IProductObject[] { child }, changeType);
68     }
69     
70     protected void fireStructureChanged(
71         IProductObject[] children,
72         int changeType) {
73         if (fModel.isEditable()) {
74             IModelChangeProvider provider = fModel;
75             provider.fireModelChanged(new ModelChangedEvent(provider, changeType, children, null));
76         }
77     }
78     
79     protected boolean isEditable() {
80         return getModel().isEditable();
81     }
82     
83     public String JavaDoc getWritableString(String JavaDoc source) {
84         return PDEXMLHelper.getWritableString(source);
85     }
86
87
88
89 }
90
Popular Tags