001package org.nasdanika.html.model.bootstrap.gen; 002 003import org.nasdanika.common.ConsumerFactory; 004import org.nasdanika.common.SupplierFactory; 005import org.nasdanika.common.Util; 006import org.nasdanika.emf.FunctionAdapterFactory; 007import org.nasdanika.html.HTMLElement; 008import org.nasdanika.html.HTMLPage; 009import org.nasdanika.html.model.bootstrap.Appearance; 010import org.nasdanika.html.model.bootstrap.BootstrapElement; 011import org.nasdanika.html.model.bootstrap.BootstrapPackage; 012import org.nasdanika.html.model.bootstrap.Page; 013import org.nasdanika.html.model.bootstrap.TableCell; 014import org.nasdanika.html.model.bootstrap.TableHeader; 015import org.nasdanika.html.model.bootstrap.TableRow; 016import org.nasdanika.html.model.bootstrap.TableSection; 017import org.nasdanika.html.model.html.gen.HtmlAdapterFactory; 018 019/** 020 * Provides adapters for the Engineering model elements. 021 * @author Pavel 022 * 023 */ 024public class BootstrapAdapterFactory extends HtmlAdapterFactory { 025 026 public BootstrapAdapterFactory() { 027 ClassLoader classLoader = getClassLoader(); 028 029 registerAdapterFactory( 030 new FunctionAdapterFactory<SupplierFactory<HTMLPage>, Page>( 031 BootstrapPackage.Literals.PAGE, 032 Util.getSupplierFactoryClass(HTMLPage.class), 033 classLoader, 034 PageSupplierFactoryAdapter::new)); 035 036 @SuppressWarnings({ "unchecked", "rawtypes" }) 037 Class<HTMLElement<?>> htmlElementClass = (Class) HTMLElement.class; 038 039 registerAdapterFactory( 040 new FunctionAdapterFactory<ConsumerFactory<HTMLElement<?>>, Appearance>( 041 BootstrapPackage.Literals.APPEARANCE, 042 Util.getConsumerFactoryClass(htmlElementClass), 043 classLoader, 044 AppearanceConsumerFactoryAdapter::new)); 045 046 registerAdapterFactory( 047 new FunctionAdapterFactory<ConsumerFactory<HTMLElement<?>>, BootstrapElement>( 048 BootstrapPackage.Literals.BOOTSTRAP_ELEMENT, 049 Util.getConsumerFactoryClass(htmlElementClass), 050 classLoader, 051 BootstrapElementConsumerFactoryAdapter::new)); 052 053 registerAdapterFactory( 054 new FunctionAdapterFactory<SupplierFactory<org.nasdanika.html.Tag>, org.nasdanika.html.model.bootstrap.Tag>( 055 BootstrapPackage.Literals.TAG, 056 Util.getSupplierFactoryClass(org.nasdanika.html.Tag.class), 057 classLoader, 058 TagSupplierFactoryAdapter::new)); 059 060 registerAdapterFactory( 061 new FunctionAdapterFactory<SupplierFactory<HTMLElement<?>>, org.nasdanika.html.model.bootstrap.Modal>( 062 BootstrapPackage.Literals.MODAL, 063 Util.getSupplierFactoryClass(htmlElementClass), 064 classLoader, 065 ModalSupplierFactoryAdapter::new)); 066 067 registerAdapterFactory( 068 new FunctionAdapterFactory<SupplierFactory<org.nasdanika.html.Tag>, org.nasdanika.html.model.bootstrap.Alert>( 069 BootstrapPackage.Literals.ALERT, 070 Util.getSupplierFactoryClass(org.nasdanika.html.Tag.class), 071 classLoader, 072 AlertSupplierFactoryAdapter::new)); 073 074 registerAdapterFactory( 075 new FunctionAdapterFactory<SupplierFactory<org.nasdanika.html.Tag>, org.nasdanika.html.model.bootstrap.Carousel>( 076 BootstrapPackage.Literals.CAROUSEL, 077 Util.getSupplierFactoryClass(org.nasdanika.html.Tag.class), 078 classLoader, 079 CarouselSupplierFactoryAdapter::new)); 080 081 registerAdapterFactory( 082 new FunctionAdapterFactory<SupplierFactory<org.nasdanika.html.Tag>, org.nasdanika.html.model.bootstrap.Slide>( 083 BootstrapPackage.Literals.SLIDE, 084 Util.getSupplierFactoryClass(org.nasdanika.html.Tag.class), 085 classLoader, 086 SlideSupplierFactoryAdapter::new)); 087 088 registerAdapterFactory( 089 new FunctionAdapterFactory<SupplierFactory<HTMLElement<?>>, org.nasdanika.html.model.bootstrap.Card>( 090 BootstrapPackage.Literals.CARD, 091 Util.getSupplierFactoryClass(htmlElementClass), 092 classLoader, 093 CardSupplierFactoryAdapter::new)); 094 095 // Table 096 registerAdapterFactory( 097 new FunctionAdapterFactory<ConsumerFactory<HTMLElement<?>>, TableHeader>( 098 BootstrapPackage.Literals.TABLE_HEADER, 099 Util.getConsumerFactoryClass(htmlElementClass), 100 classLoader, 101 TableHeaderConsumerFactoryAdapter::new)); 102 103 registerAdapterFactory( 104 new FunctionAdapterFactory<ConsumerFactory<HTMLElement<?>>, TableSection>( 105 BootstrapPackage.Literals.TABLE_SECTION, 106 Util.getConsumerFactoryClass(htmlElementClass), 107 classLoader, 108 TableSectionConsumerFactoryAdapter::new)); 109 110 registerAdapterFactory( 111 new FunctionAdapterFactory<ConsumerFactory<HTMLElement<?>>, TableRow>( 112 BootstrapPackage.Literals.TABLE_ROW, 113 Util.getConsumerFactoryClass(htmlElementClass), 114 classLoader, 115 TableRowConsumerFactoryAdapter::new)); 116 117 registerAdapterFactory( 118 new FunctionAdapterFactory<ConsumerFactory<HTMLElement<?>>, TableCell>( 119 BootstrapPackage.Literals.TABLE_CELL, 120 Util.getConsumerFactoryClass(htmlElementClass), 121 classLoader, 122 TableCellConsumerFactoryAdapter::new)); 123 124 registerAdapterFactory( 125 new FunctionAdapterFactory<ConsumerFactory<HTMLElement<?>>, org.nasdanika.html.model.bootstrap.Table>( 126 BootstrapPackage.Literals.TABLE, 127 Util.getConsumerFactoryClass(htmlElementClass), 128 classLoader, 129 TableConsumerFactoryAdapter::new)); 130 131 registerAdapterFactory( 132 new FunctionAdapterFactory<SupplierFactory<HTMLElement<?>>, org.nasdanika.html.model.bootstrap.Table>( 133 BootstrapPackage.Literals.TABLE, 134 Util.getSupplierFactoryClass(htmlElementClass), 135 classLoader, 136 TableSupplierFactoryAdapter::new)); 137 138 } 139 140}