import static java.util.Objects.requireNonNull;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.opendaylight.restconf.api.query.PrettyPrintParam;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.Inference;
* A RFC8040 overlay from our marriage to NormalizedNodeContext. This represents a NormalizedNode along with further
* messy details needed to deal with the payload.
*/
-public final class NormalizedNodePayload {
- private final @NonNull QueryParameters writerParameters;
- private final @NonNull Inference inference;
- private final NormalizedNode data;
-
- private NormalizedNodePayload(final Inference inference, final NormalizedNode data,
- final QueryParameters writerParameters) {
- this.inference = requireNonNull(inference);
- this.data = data;
- this.writerParameters = requireNonNull(writerParameters);
- }
-
- public static @NonNull NormalizedNodePayload empty(final Inference inference) {
- return new NormalizedNodePayload(inference, null, QueryParameters.empty());
- }
-
- public static @NonNull NormalizedNodePayload of(final Inference inference, final NormalizedNode data) {
- return new NormalizedNodePayload(inference, requireNonNull(data), QueryParameters.empty());
- }
-
- public static @NonNull NormalizedNodePayload ofNullable(final Inference inference, final NormalizedNode data) {
- return data == null ? empty(inference) : of(inference, data);
- }
-
- public static Object ofReadData(final Inference inference, final NormalizedNode data,
- final QueryParameters parameters) {
- return new NormalizedNodePayload(inference, requireNonNull(data), parameters);
- }
-
- public @NonNull Inference inference() {
- return inference;
- }
-
- public @Nullable NormalizedNode getData() {
- return data;
- }
-
- public @NonNull QueryParameters getWriterParameters() {
- return writerParameters;
+@NonNullByDefault
+public record NormalizedNodePayload(
+ Inference inference,
+ NormalizedNode data,
+ WriterParameters writerParameters,
+ PrettyPrintParam prettyPrint) {
+ public NormalizedNodePayload {
+ requireNonNull(inference);
+ requireNonNull(data);
+ requireNonNull(writerParameters);
+ requireNonNull(prettyPrint);
}
}