01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19: package org.netbeans.modules.bpel.model.impl;
20:
21: import java.util.Collection;
22: import org.netbeans.modules.bpel.model.api.BpelModel;
23: import org.netbeans.modules.bpel.model.spi.BpelModelFactory;
24: import org.netbeans.modules.bpel.model.spi.NewBpelModelListener;
25: import org.netbeans.modules.xml.xam.AbstractModelFactory;
26: import org.netbeans.modules.xml.xam.ModelSource;
27: import org.openide.util.Lookup;
28:
29: /**
30: * @author ads
31: *
32: */
33: public class BpelModelFactoryImpl extends
34: AbstractModelFactory<BpelModel> implements BpelModelFactory {
35:
36: @Override
37: public BpelModel getModel(ModelSource source) {
38: return super .getModel(source);
39: }
40:
41: protected BpelModel createModel(ModelSource source) {
42: BpelModel newBpelModel = new BpelModelImpl(source);
43: //
44: // Notify all listeners about creation of the new BPEL model
45: Collection<? extends NewBpelModelListener> listeners = Lookup
46: .getDefault().lookupAll(NewBpelModelListener.class);
47: if (listeners != null) {
48: for (NewBpelModelListener listener : listeners) {
49: listener.bpelModelCreated();
50: }
51: }
52: //
53: return newBpelModel;
54: }
55:
56: }
|