
org.nasdanika.models.app.gen.LinkSupplierFactoryProviderAdapter Maven / Gradle / Ivy
package org.nasdanika.models.app.gen;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.nasdanika.common.SupplierFactory;
import org.nasdanika.html.jstree.JsTreeNode;
import org.nasdanika.models.app.Action;
import org.nasdanika.models.app.Link;
import org.nasdanika.html.Tag;
public class LinkSupplierFactoryProviderAdapter extends LabelSupplierFactoryProviderAdapter {
public LinkSupplierFactoryProviderAdapter(M link, AdapterFactory adapterFactory) {
super(link, adapterFactory);
if (link instanceof Action) {
throw new IllegalArgumentException("Actions must be converted to links first: " + link.getText());
}
}
@SuppressWarnings("unchecked")
@Override
public SupplierFactory getFactory(Class type) {
if (type.isAssignableFrom(Tag.class)) {
return (SupplierFactory) new LinkTagSupplierFactoryAdapter<>((M) getTarget(), adapterFactory);
}
// TODO - Card
if (type.isAssignableFrom(JsTreeNode.class)) {
return (SupplierFactory) new LinkJsTreeNodeSupplierFactoryAdapter<>((M) getTarget());
}
return super.getFactory(type);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy