001package org.nasdanika.html.ecore; 002 003import java.security.NoSuchAlgorithmException; 004import java.util.function.BiFunction; 005import java.util.function.Predicate; 006 007import org.eclipse.emf.ecore.EClass; 008import org.eclipse.emf.ecore.EModelElement; 009import org.eclipse.emf.ecore.ENamedElement; 010import org.eclipse.emf.ecore.EPackage; 011import org.eclipse.emf.ecore.EParameter; 012import org.nasdanika.common.Context; 013import org.nasdanika.common.NasdanikaException; 014import org.nasdanika.common.ProgressMonitor; 015import org.nasdanika.html.model.app.Action; 016 017public class EParameterActionSupplier extends ETypedElementActionSupplier<EParameter> { 018 019 public EParameterActionSupplier( 020 EParameter value, 021 Context context, 022 java.util.function.Function<EPackage,String> ePackagePathComputer, 023 Predicate<EModelElement> elementPredicate, 024 BiFunction<ENamedElement, String, String> labelProvider) { 025 super(value, context, ePackagePathComputer, elementPredicate, labelProvider); 026 } 027 028 @Override 029 public Action execute(EClass contextEClass, ProgressMonitor progressMonitor) { 030 Action action = super.execute(contextEClass, progressMonitor); 031 try { 032 action.setName(EOperationActionSupplier.eOperationSignature(eObject.getEOperation(), this::encodeEPackage) + "--" + eObject.getName()); 033 } catch (NoSuchAlgorithmException e) { 034 throw new NasdanikaException(e); 035 } 036 return action; 037 } 038 039}