/*
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);
}
}