001package org.nasdanika.html.model.html.gen;
002
003import java.io.InputStream;
004
005import org.nasdanika.common.SupplierFactory;
006import org.nasdanika.common.Util;
007import org.nasdanika.emf.FunctionAdapterFactory;
008import org.nasdanika.exec.gen.ExecutionParticpantAdapterFactory;
009import org.nasdanika.html.HTMLPage;
010import org.nasdanika.html.model.html.HtmlPackage;
011import org.nasdanika.html.model.html.Page;
012import org.nasdanika.html.model.html.Script;
013import org.nasdanika.ncore.NcorePackage;
014
015/**
016 * Provides adapters for the Engineering model elements.
017 * @author Pavel
018 */
019public class HtmlAdapterFactory extends ExecutionParticpantAdapterFactory {
020        
021        public HtmlAdapterFactory() {
022                ClassLoader classLoader = getClassLoader();
023                
024                registerAdapterFactory(
025                                new FunctionAdapterFactory<SupplierFactory<org.nasdanika.html.Tag>, org.nasdanika.html.model.html.Tag>(
026                                        HtmlPackage.Literals.TAG, 
027                                        Util.getSupplierFactoryClass(org.nasdanika.html.Tag.class), 
028                                        classLoader, 
029                                        e -> new TagSupplierFactoryAdapter<org.nasdanika.html.model.html.Tag>(e, this)));               
030                
031                registerAdapterFactory(
032                                new FunctionAdapterFactory<SupplierFactory<HTMLPage>, Page>(
033                                        HtmlPackage.Literals.PAGE, 
034                                        Util.getSupplierFactoryClass(HTMLPage.class), 
035                                        classLoader, 
036                                        PageSupplierFactoryAdapter::new));              
037                
038                registerAdapterFactory(
039                                new FunctionAdapterFactory<SupplierFactory<org.nasdanika.html.Tag>, Script>(
040                                        HtmlPackage.Literals.SCRIPT, 
041                                        Util.getSupplierFactoryClass(org.nasdanika.html.Tag.class), 
042                                        this.getClass().getClassLoader(), 
043                                        ScriptSupplierFactoryAdapter::new));
044                
045                registerAdapterFactory(
046                                new FunctionAdapterFactory<SupplierFactory<InputStream>, org.nasdanika.ncore.List>(
047                                        NcorePackage.Literals.LIST, 
048                                        Util.getSupplierFactoryClass(InputStream.class), 
049                                        this.getClass().getClassLoader(), 
050                                        ListSupplierFactoryAdapter::new));              
051                                
052        }
053        
054}