/* ModularHeader822.java * * Copyright (c) 2002, Benja Fallenstein * * You may use and distribute under the terms of either the GNU Lesser * General Public License, either version 2 of the license or, * at your choice, any later version. Alternatively, you may use and * distribute under the terms of the XPL. * * See the LICENSE.lgpl and LICENSE.xpl files for the specific terms of * the licenses. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the README * file for more details. * */ /* * Written by Benja Fallenstein */ package gzz.util.headers; import java.io.*; import java.util.*; /** A Header822 implementation that delegates * calls to a HeaderMap822 and a * HeaderLines822 object. */ public class ModularHeader822 implements Header822 { protected HeaderLines822 lines; protected HeaderMap822 map; public ModularHeader822(HeaderLines822 lines, HeaderMap822 map) { this.lines = lines; this.map = map; } public List getLines() { return lines.getLines(); } public void writeTo(OutputStream out) throws IOException { lines.writeTo(out); } public String get(String fieldName) throws NoSuchElementException, MoreThanOneElementException { return map.get(fieldName); } public Collection getAll(String fieldName) { return map.getAll(fieldName); } public Set keySet() { return map.keySet(); } public void add(String fieldName, String fieldValue) { lines.add(fieldName, fieldValue); map.add(fieldName, fieldValue); } }