/*
 * Copyright 2017-2020 original authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package io.micronaut.http.client.multipart;

import edu.umd.cs.findbugs.annotations.NonNull;

The base class representing multiple parts in the MultipartBody to build a Netty multipart request.
Author:Puneet Behl
Type parameters:
  • <D> – the data type
Since:1.0
/** * The base class representing multiple parts in the {@link MultipartBody} to build a Netty multipart request. * * @author Puneet Behl * @since 1.0 * @param <D> the data type */
abstract class Part<D> {
Name of the parameter in Multipart request body.
/** * Name of the parameter in Multipart request body. */
protected final String name;
Params:
  • name – Name of the parameter
/** * @param name Name of the parameter */
Part(String name) { if (name == null) { throw new IllegalArgumentException("Adding parts with a null name is not allowed"); } this.name = name; }
Returns:The content of this part.
/** * @return The content of this part. */
abstract D getContent();
Params:
  • factory – The factory used to create the multipart data
Type parameters:
  • <T> – The data
Returns:The multi part data object
/** * @param factory The factory used to create the multipart data * @return The multi part data object * @param <T> The data */
abstract @NonNull <T> T getData(@NonNull MultipartDataFactory<T> factory); }