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