org.opendaylight.jsonrpc.hmap.PathCodec Maven / Gradle / Ivy
The newest version!
/*
* Copyright (c) 2017 Brocade Communications Systems, Inc. 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.jsonrpc.hmap;
/**
* Path coder/decoder. It transforms between P
* and {@link Iterable} of I. Instances of {@link PathCodec} must ensure that
*
* - they are thread safe, that is they work safely in multi-threaded
* environment
* - they are re-usable, so single instance can be reused for multiple
* invocations
*
*
* @param external path representation
* @param internal node identifier
*
* @author Richard Kosegi
*/
public interface PathCodec
{
/**
* Serialize external path specification (P) into {@link Iterable} of I.
*
* @param path external path specification
* @return {@link Iterable} of I
*/
Iterable serialize(P path);
/**
* Deserialize sequence of I into external path specification P.
*
* @param path {@link Iterable}<I> sequence of internal path
* identifiers
* @return P external path specification
*/
P deserialize(Iterable path);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy