-/*
- * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. 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
- */
-
-package org.opendaylight.openflowplugin.api.openflow.registry;
-
-import java.util.function.Consumer;
-
-public interface CommonDeviceRegistry<KEY> extends AutoCloseable {
-
- /**
- * Store KEY in device registry.
- * @param key device registry key
- */
- void store(KEY key);
-
- /**
- * Add mark for specified KEY.
- * @param key device registry key
- */
- void addMark(KEY key);
-
- /**
- * Checks if registry has mark for KEY.
- * @param key device registry key
- * @return true if device registry has mark for KEY
- */
- boolean hasMark(KEY key);
-
- /**
- * Process marked keys.
- */
- void processMarks();
-
- /**
- * Iterate over all keys in device registry.
- * @param consumer key consumer
- */
- void forEach(Consumer<KEY> consumer);
-
- /**
- * Get device registry size.
- * @return device registry size
- */
- int size();
-
- @Override
- void close();
-
-}