1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * 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 20 package org.netbeans.modules.web.jsf.api.facesmodel; 21 22 import org.netbeans.modules.web.jsf.impl.facesmodel.JSFConfigModelImpl; 23 import org.netbeans.modules.xml.xam.AbstractModelFactory; 24 import org.netbeans.modules.xml.xam.ModelSource; 25 26 /** 27 * 28 * @author Petr Pisl 29 */ 30 public class JSFConfigModelFactory extends AbstractModelFactory<JSFConfigModel>{ 31 32 private static JSFConfigModelFactory modelFactory = null; 33 34 private static Object instanceSyncPoint = new Object(); 35 36 /** Creates a new instance of JSFConfigModelFactory */ 37 public JSFConfigModelFactory() { 38 } 39 40 public static JSFConfigModelFactory getInstance(){ 41 if (modelFactory == null){ 42 synchronized(instanceSyncPoint) { 43 JSFConfigModelFactory _modelFactory = modelFactory; 44 if (_modelFactory == null){ 45 modelFactory = new JSFConfigModelFactory(); 46 } 47 } 48 } 49 return modelFactory; 50 } 51 52 protected JSFConfigModel createModel(ModelSource source) { 53 return new JSFConfigModelImpl(source); 54 } 55 56 public JSFConfigModel getModel(ModelSource source) { 57 return (JSFConfigModel) super.getModel(source); 58 } 59 } 60