/*
 * Copyright 2018 Andrew Rucker Jones.
 *
 * 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
 *
 *      http://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 com.opencsv.bean;

import org.apache.commons.collections4.MultiValuedMap;

import java.lang.reflect.Field;
import java.util.Locale;

Implements a BeanFieldJoin with a String for an index.
Author:Andrew Rucker Jones
Type parameters:
  • <T> – The type of the bean being populated
Since:4.2
/** * Implements a {@link BeanFieldJoin} with a {@link java.lang.String} for an * index. * * @param <T> The type of the bean being populated * * @author Andrew Rucker Jones * @since 4.2 */
public class BeanFieldJoinStringIndex<T> extends BeanFieldJoin<T, String> {
Creates a new instance.
Params:
  • type – The type of the class in which this field is found. This is the type as instantiated by opencsv, and not necessarily the type in which the field is declared in the case of inheritance.
  • field – The bean field this object represents
  • required – Whether or not a value is always required for this field
  • errorLocale – The locale to use for error messages
  • converter – The converter to be used for performing the data conversion on reading or writing
  • mapType – The type of the MultiValuedMap that should be instantiated for the bean field being populated
  • capture – See CsvBindAndJoinByName.capture()
  • format – The format string used for packaging values to be written. If null or empty, it is ignored.
/** * Creates a new instance. * * @param type The type of the class in which this field is found. This is * the type as instantiated by opencsv, and not necessarily the * type in which the field is declared in the case of * inheritance. * @param field The bean field this object represents * @param required Whether or not a value is always required for this field * @param errorLocale The locale to use for error messages * @param converter The converter to be used for performing the data * conversion on reading or writing * @param mapType The type of the * {@link org.apache.commons.collections4.MultiValuedMap} that should be * instantiated for the bean field being populated * @param capture See {@link CsvBindAndJoinByName#capture()} * @param format The format string used for packaging values to be written. * If {@code null} or empty, it is ignored. */
public BeanFieldJoinStringIndex( Class<?> type, Field field, boolean required, Locale errorLocale, CsvConverter converter, Class<? extends MultiValuedMap> mapType, String capture, String format) { super(type, field, required, errorLocale, converter, mapType, capture, format); } @Override protected Object putNewValue(MultiValuedMap<String, Object> map, String index, Object newValue) { return map.put(index, newValue); } }