content: package aimax.osm.data;
  
  import java.util.List;
  
  import aimax.osm.data.entities.EntityAttribute;
  import aimax.osm.data.entities.EntityViewInfo;
  
  /**
   * This map builder proxy delegates every call to the original builder.
   * 
   * @author Ruediger Lunde
   */
  public class MapBuilderProxy implements MapBuilder {
  	protected MapBuilder builder;
  	protected int counter;
  
  	public MapBuilderProxy(MapBuilder builder) {
  		this.builder = builder;
  		counter = 0;
  	}
  
  	public void incrementCounter() {
  		counter++;
  	}
  
  	@Override
  	public void setEntityClassifier(EntityClassifier<EntityViewInfo> classifier) {
  		builder.setEntityClassifier(classifier);
  	}
  
  	@Override
  	public void setBoundingBox(BoundingBox bb) {
  		builder.setBoundingBox(bb);
  	}
  
  	@Override
  	public boolean isNodeDefined(long id, BoundingBox bb) {
  		return builder.isNodeDefined(id, bb);
  	}
  	
  	@Override
  	public boolean isNodeReferenced(long id) {
  		return builder.isNodeReferenced(id);
  	}
  
  	@Override
  	public void addNode(long id, String name, List<EntityAttribute> atts,
  			float lat, float lon) {
  		builder.addNode(id, name, atts, lat, lon);
  	}
  
  	@Override
  	public boolean isWayDefined(long id) {
  		return builder.isWayDefined(id);
  	}
  
  	@Override
  	public void addWay(long id, String name, List<EntityAttribute> atts,
  			List<Long> wayNodeIds) {
  		builder.addWay(id, name, atts, wayNodeIds);
  	}
  
  	@Override
  	public boolean nodeRefsWithoutDefsAdded() {
  		return builder.nodeRefsWithoutDefsAdded();
  	}
  
  	@Override
  	public OsmMap buildMap() {
  		return builder.buildMap();
  	}
  }