package org.esa.snap.ui.product;
import com.bc.ceres.core.ExtensionFactory;
import com.bc.ceres.glayer.LayerTypeRegistry;
import org.esa.snap.core.datamodel.VectorDataNode;
/**
* The {@link ExtensionFactory} that adapts {@link VectorDataNode}s using the {@code FeatureType} "org.esa.snap.TrackPoint"
* to the special {@link TrackLayerType}.
* <p>
* <i>Note: this is experimental code.</i>
*
* @author Norman Fomferra
* @since BEAM 4.10
*/
public class TrackLayerTypeFactory implements ExtensionFactory {
@Override
public Object getExtension(Object object, Class<?> extensionType) {
VectorDataNode node = (VectorDataNode) object;
if (TrackLayerType.isTrackPointNode(node)) {
return LayerTypeRegistry.getLayerType(TrackLayerType.class);
}
return null;
}
@Override
public Class<?>[] getExtensionTypes() {
return new Class<?>[]{VectorDataLayerType.class};
}
}