package org.esa.beam.dataio.smos.dddb; import java.util.*; class BandDescriptors implements Family<BandDescriptor> { private final List<BandDescriptor> descriptorList; private final Map<String, BandDescriptor> descriptorMap; BandDescriptors(List<String[]> recordList, Dddb dddb) { descriptorList = new ArrayList<>(recordList.size()); descriptorMap = new HashMap<>(recordList.size()); for (final String[] tokens : recordList) { final BandDescriptorImpl bandDescriptor = new BandDescriptorImpl(tokens, dddb); descriptorList.add(bandDescriptor); descriptorMap.put(bandDescriptor.getBandName(), bandDescriptor); } } @Override public final List<BandDescriptor> asList() { return Collections.unmodifiableList(descriptorList); } @Override public final BandDescriptor getMember(String bandName) { return descriptorMap.get(bandName); } }