I have two parallel inheritance chains:
Vehicle <- Car
<- Truck <- etc.
VehicleXMLFormatter <- CarXMLFormatter
<-
I want to add generics to Frederiks answer.
public class Car extends Vehicle
{
public void Accept( VehicleFormatter v )
{
v.Visit (this);
}
}
public class Truck extends Vehicle
{
public void Accept( VehicleFormatter v )
{
v.Visit (this);
}
}
public interface VehicleFormatter
{
public void Visit( T v );
}
public class CarXmlFormatter implements VehicleFormatter
{
//TODO: implementation
}
public class TruckXmlFormatter implements VehicleFormatter
{
//TODO: implementation
}