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}