001package org.nasdanika.html.ecore;
002
003import java.util.function.BiFunction;
004import java.util.function.Predicate;
005
006import org.eclipse.emf.ecore.EClass;
007import org.eclipse.emf.ecore.EEnumLiteral;
008import org.eclipse.emf.ecore.EModelElement;
009import org.eclipse.emf.ecore.ENamedElement;
010import org.eclipse.emf.ecore.EPackage;
011import org.nasdanika.common.Context;
012import org.nasdanika.common.ProgressMonitor;
013import org.nasdanika.html.model.app.Action;
014
015public class EEnumLiteralActionSupplier extends ENamedElementActionSupplier<EEnumLiteral> {
016
017        public EEnumLiteralActionSupplier(
018                        EEnumLiteral value, 
019                        Context context, 
020                        java.util.function.Function<EPackage,String> ePackagePathComputer,
021                        Predicate<EModelElement> elementPredicate,
022                        BiFunction<ENamedElement, String, String> labelProvider) {
023                super(value, context, ePackagePathComputer, elementPredicate, labelProvider);
024        }
025        
026        @Override
027        public Action execute(EClass contextEClass, ProgressMonitor progressMonitor) {
028                Action action = super.execute(contextEClass, progressMonitor);
029                action.setId(eObject.eClass().getName() + "-" + encodeEPackage(eObject.getEEnum().getEPackage()) + "-" + eObject.getEEnum().getName() + "-" + eObject.getName());
030                action.setName(eObject.getName());              
031                return action;
032        }
033                
034}