DecoderResultImpl.java
/*
* SPDX-FileCopyrightText: 2023-2025 Lucimber UG
* SPDX-License-Identifier: Apache-2.0
*/
package com.lucimber.dbus.codec.decoder;
import com.lucimber.dbus.type.DBusType;
import java.util.Objects;
/**
* Default implementation of the decoder result interface.
*
* @param <ValueT> The value's data type.
*/
public final class DecoderResultImpl<ValueT extends DBusType> implements DecoderResult<ValueT> {
private final ValueT value;
private int consumedBytes;
/**
* Constructs a new decoder result.
*
* @param consumedBytes number of consumed bytes
* @param value the decoded value
*/
public DecoderResultImpl(int consumedBytes, ValueT value) {
this.consumedBytes = consumedBytes;
this.value = Objects.requireNonNull(value, "value must not be null");
}
@Override
public int getConsumedBytes() {
return consumedBytes;
}
@Override
public void setConsumedBytes(int consumedBytes) {
this.consumedBytes = consumedBytes;
}
@Override
public ValueT getValue() {
return value;
}
}