/******************************************************************************* * Copyright (c) 2007, 2010 Association for Decentralized Information Management * in Industry THTH ry. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * VTT Technical Research Centre of Finland - initial API and implementation *******************************************************************************/ package org.simantics.browsing.ui.common.processors; import java.util.Collection; import java.util.Collections; import java.util.Map; import org.simantics.browsing.ui.BuiltinKeys; import org.simantics.browsing.ui.NodeContext; import org.simantics.browsing.ui.NodeQueryManager; import org.simantics.browsing.ui.PrimitiveQueryUpdater; import org.simantics.browsing.ui.BuiltinKeys.LabelerKey; import org.simantics.browsing.ui.GraphExplorer.ModificationContext; import org.simantics.browsing.ui.NodeContext.QueryKey; import org.simantics.browsing.ui.content.Labeler; import org.simantics.browsing.ui.content.LabelerFactory; public class DefaultLabelerFactoriesProcessor extends AbstractNodeQueryProcessor> { int koss; @Override public QueryKey> getIdentifier() { return BuiltinKeys.LABELER_FACTORIES; } @Override public Collection query(NodeQueryManager manager, NodeContext context) { return Collections.singleton((LabelerFactory) new LabelerFactory() { @Override public Labeler create(PrimitiveQueryUpdater updater, final NodeContext context, LabelerKey key) { if (++koss % 1000 == 0) System.out.println("Produced " + koss + " labels"); return new Labeler() { @Override public Map getLabels() { return Collections.singletonMap("single", context.getConstant(BuiltinKeys.INPUT).toString()); } @Override public Map getRuntimeLabels() { return Collections.emptyMap(); } @Override public int getCategory() { return 0; } @Override public Modifier getModifier(ModificationContext modificationContext, String key) { return null; } @Override public void setListener(LabelerListener listener) { // Intentionally blank, cannot implement listening. } }; } }); } @Override public String toString() { return "LabelerFactoriesProcessor"; } }