* 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.yangtools.concepts;
+package org.opendaylight.yangtools.yang.data.api.codec;
import static com.google.common.base.Verify.verifyNotNull;
import static java.util.Objects.requireNonNull;
*
* @param <S> Serializied (external) type
* @param <D> Deserialized (internal) type
- * @deprecated This is a base class for implementing IllegalArgumentCodec, without further use. It will be removed with
- * IllegalArgumentCodec.
*/
@Beta
-@Deprecated(since = "8.0.0", forRemoval = true)
public abstract class AbstractIllegalArgumentCodec<S, D> implements IllegalArgumentCodec<S, D> {
@Override
public final D deserialize(final S input) {
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface BinaryCodec<T> extends IllegalArgumentCodec<T, byte[]> {
}
package org.opendaylight.yangtools.yang.data.api.codec;
import java.util.Set;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
public interface BitsCodec<T> extends IllegalArgumentCodec<T, Set<String>> {
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface BooleanCodec<T> extends IllegalArgumentCodec<T, Boolean> {
}
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.common.Decimal64;
public interface DecimalCodec<T> extends IllegalArgumentCodec<T, Decimal64> {
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.common.Empty;
public interface EmptyCodec<T> extends IllegalArgumentCodec<T, Empty> {
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface EnumCodec<T> extends IllegalArgumentCodec<T, String> {
}
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.common.QName;
public interface IdentityrefCodec<T> extends IllegalArgumentCodec<T, QName> {
* 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.yangtools.concepts;
+package org.opendaylight.yangtools.yang.data.api.codec;
import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.NonNull;
*
* @param <S> Serialized (external) type
* @param <D> Deserialized (internal) type
- * @deprecated This interface ignores a number of complications when dealing with external forms. For one, it assumes
- * a serdes operation does not have further context than the input -- and this is seldom the case. The other
- * failing is that it actively discourages use of checked exceptions to deal with errors at the appropriate
- * level. Based on these, this interface is deprecated for removal without a replacement. Users are
- * encouraged to define similar interface fitting their needs.
*/
@Beta
-@Deprecated(since = "8.0.0", forRemoval = true)
+// FIXME: sealed when we have JDK17+
+// FIXME: This interface ignores a number of complications when dealing with external forms. For one, it assumes
+// a serdes operation does not have further context than the input -- and this is seldom the case. The other
+// failing is that it actively discourages use of checked exceptions to deal with errors at the appropriate
+// level. Based on these, this interface is deprecated for removal without a replacement. Users are
+// encouraged to define similar interface fitting their needs.
public interface IllegalArgumentCodec<S, D> {
/**
* Produce an internal object based on an external object.
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
/**
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface Int16Codec<T> extends IllegalArgumentCodec<T, Short> {
}
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface Int32Codec<T> extends IllegalArgumentCodec<T,Integer> {
}
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface Int64Codec<T> extends IllegalArgumentCodec<T, Long> {
}
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface Int8Codec<T> extends IllegalArgumentCodec<T, Byte> {
}
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface LeafrefCodec<T> extends IllegalArgumentCodec<T, Object> {
}
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface StringCodec<T> extends IllegalArgumentCodec<T, String> {
}
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.common.Uint16;
/**
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.common.Uint32;
/**
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.common.Uint64;
/**
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.common.Uint8;
/**
*/
package org.opendaylight.yangtools.yang.data.api.codec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
public interface UnionCodec<T> extends IllegalArgumentCodec<T,Object> {
}
* 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.yangtools.concepts;
+package org.opendaylight.yangtools.yang.data.api.codec;
import static org.junit.jupiter.api.Assertions.assertThrows;
import org.junit.jupiter.api.Test;
-@Deprecated(since = "8.0.0", forRemoval = true)
public class AbstractIllegalArgumentCodecTest {
private static final class TestCodec extends AbstractIllegalArgumentCodec<String, String> {
@Override
package org.opendaylight.yangtools.yang.data.impl.codec;
import com.google.common.annotations.Beta;
-import org.opendaylight.yangtools.concepts.AbstractIllegalArgumentCodec;
+import org.opendaylight.yangtools.yang.data.api.codec.AbstractIllegalArgumentCodec;
// FIXME: 7.0.0: yang-data-api is tied to yang-model-api, hence it should be opinionated to export exceptions
// encapsulating YANG-based error information.
package org.opendaylight.yangtools.yang.data.impl.codec;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
+import org.opendaylight.yangtools.yang.data.api.codec.IllegalArgumentCodec;
// FIXME: 7.0.0: yang-data-api is tied to yang-model-api, hence it should be opinionated to export exceptions
// encapsulating YANG-based error information.
import static org.mockito.Mockito.mock;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.codec.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;
import java.util.Iterator;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.yangtools.concepts.AbstractIllegalArgumentCodec;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.common.XMLNamespace;
+import org.opendaylight.yangtools.yang.data.api.codec.AbstractIllegalArgumentCodec;
abstract class AbstractNamespaceCodec<T> extends AbstractIllegalArgumentCodec<String, T> {
private static final Splitter COLON_SPLITTER = Splitter.on(':');
import static java.util.Objects.requireNonNull;
-import org.opendaylight.yangtools.concepts.AbstractIllegalArgumentCodec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
+import org.opendaylight.yangtools.yang.data.api.codec.AbstractIllegalArgumentCodec;
+import org.opendaylight.yangtools.yang.data.api.codec.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;