001package org.nasdanika.html.model.html.gen;
002
003import org.eclipse.emf.common.notify.AdapterFactory;
004import org.nasdanika.common.Context;
005import org.nasdanika.common.ProgressMonitor;
006import org.nasdanika.common.Supplier;
007import org.nasdanika.html.HTMLFactory;
008
009public class TagSupplierFactoryAdapter<T extends org.nasdanika.html.model.html.Tag> extends HtmlElementSupplierFactoryAdapter<T, org.nasdanika.html.Tag> {
010        
011        public TagSupplierFactoryAdapter(T tag, AdapterFactory adapterFactory) {
012                super(tag, adapterFactory);
013        }
014        
015        protected Supplier<org.nasdanika.html.Tag> createHTMLElementSupplier(Context context) {
016                return new Supplier<org.nasdanika.html.Tag>() {
017                        
018                        @Override
019                        public double size() {
020                                return 1;
021                        }
022                        
023                        @Override
024                        public String name() {
025                                return "Tag";
026                        }
027                        
028                        @Override
029                        public org.nasdanika.html.Tag execute(ProgressMonitor progressMonitor) {
030                                HTMLFactory htmlFactory = context.get(HTMLFactory.class, HTMLFactory.INSTANCE);
031                                String tagName = context.interpolateToString(getTarget().getName());
032                                return htmlFactory.tag(tagName);
033                        }
034                };
035                
036        }
037
038}