package com.capgemini.reports.definition.r19report.snecmaobject;

import com.capgemini.reports.definition.r19report.R19Keys;
import com.capgemini.reports.snecmaobjects.admin.RFAdminAGRevision;
import com.capgemini.reports.snecmaobjects.admin.RFAdminAPRevision;
import com.capgemini.reports.snecmaobjects.admin.RFAdminARevision;
import com.capgemini.reports.snecmaobjects.admin.RFAdminRevision;
import com.capgemini.reports.snecmaobjects.descriptif.DescriptifRevision;
import com.capgemini.reports.snecmaobjects.generic.GenericAssembRevision;
import com.capgemini.reports.snecmaobjects.generic.GenericRevision;
import com.capgemini.reports.snecmaobjects.mockup.MockupRevision;
import com.capgemini.reports.snecmaobjects.part.PartAssembRevision;
import com.capgemini.reports.snecmaobjects.product.ProductRevision;
import com.capgemini.reports.snecmaobjects.rf.RFGenericRevision;
import com.capgemini.reports.snecmaobjects.rf.RFPartAssembRevision;
import com.capgemini.reports.snecmaobjects.rf.RFPartRevision;
import com.capgemini.reports.snecmaobjects.visitor.IComponentVisitor;

import java.util.EnumMap;
import java.util.Map;


/**
 * Abstract Visitor for Components of the r19 report.
 */
public abstract class AbstractR19ComponentVisitor implements IComponentVisitor<Map<R19Keys, String>> {
    private static final long serialVersionUID = 1002247758669375790L;

    @Override
    public Map<R19Keys, String> visitComponent(ProductRevision aProductRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(PartAssembRevision aPartAssembRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(RFGenericRevision aRfGenericRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(RFPartAssembRevision aRfPartAssembRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(RFPartRevision aRfPartRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(RFAdminRevision aRfAdminRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(RFAdminARevision aRfAdminARev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(RFAdminAPRevision aRfAdminAPRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(RFAdminAGRevision aRfAdminAGRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(MockupRevision aMockupRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

    @Override
    public Map<R19Keys, String> visitComponent(DescriptifRevision aDescriptifRev) {
        // Not use
        return new EnumMap<>(R19Keys.class);
    }

}
