| /** |
| * |
| * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| */ |
| package org.eclipse.osbp.osgi.hybrid.api; |
| |
| import com.github.wolfie.refresher.Refresher; |
| |
| import org.eclipse.osbp.preferences.ProductConfiguration; |
| |
| public class HybridPartStateRefresher extends Refresher { |
| |
| private static final long serialVersionUID = 2627881764074882845L; |
| private boolean fActive; |
| private final int fIntervalActive; |
| private final int fIntervalInactive; |
| |
| public HybridPartStateRefresher(RefreshListener listener) { |
| fIntervalActive = ProductConfiguration.getHybridRefresherMilliSecsActive(); |
| fIntervalInactive = ProductConfiguration.getHybridRefresherMilliSecsInactive(); |
| addListener(listener); |
| setActive(true); |
| } |
| |
| public void setActive(boolean active) { |
| if (fActive != active) { |
| fActive = active; |
| setRefreshInterval(fActive ? fIntervalActive : fIntervalInactive); |
| } |
| } |
| |
| public boolean isActive() { |
| return fActive; |
| } |
| } |