001package org.nasdanika.html.ecore; 002 003import org.eclipse.emf.ecore.EObject; 004import org.nasdanika.emf.EObjectAdaptable; 005import org.nasdanika.html.model.app.util.ActionSupplier; 006 007/** 008 * Adapts {@link EObject} to {@link ActionSupplier}. 009 * @author Pavel Vlasov 010 * 011 */ 012public abstract class EObjectActionSupplier<T extends EObject> implements EcoreActionSupplier { 013 014 protected T eObject; 015 016 public EObjectActionSupplier(T eObject) { 017 this.eObject = eObject; 018 } 019 020 /** 021 * Adapts child eObject to {@link ActionSupplier} and adds to the list of children to be configured. 022 * @param child 023 * @return 024 */ 025 protected EcoreActionSupplier adaptChild(EObject child) { 026 return EObjectAdaptable.adaptTo(child, EcoreActionSupplier.class); 027 } 028 029}