Package no.ugland.utransprod.service.impl

Source Code of no.ugland.utransprod.service.impl.TransportCostAdditionImplFacory

package no.ugland.utransprod.service.impl;

import java.util.Hashtable;
import java.util.Map;

import no.ugland.utransprod.ProTransException;
import no.ugland.utransprod.model.TransportCostAddition;
import no.ugland.utransprod.service.ITransportCostAddition;

public final class TransportCostAdditionImplFacory {
  private static Map<String, ITransportCostAddition> transportCostAdditionImplInstances = new Hashtable<String, ITransportCostAddition>();

  private TransportCostAdditionImplFacory() {

  }

  public static ITransportCostAddition getTransportCostAdditionImpl(
      final TransportCostAddition addition) throws ProTransException {
    ITransportCostAddition transportCostAdditionImpl = transportCostAdditionImplInstances
        .get(addition.getDescription());
    if (transportCostAdditionImpl == null) {
      transportCostAdditionImpl = createTransportCostAdditionImpl(
          addition.getDescription(), addition);
      transportCostAdditionImplInstances.put(addition.getDescription(),
          transportCostAdditionImpl);
    }

    return transportCostAdditionImpl;
  }

  private static ITransportCostAddition createTransportCostAdditionImpl(
      final String description, final TransportCostAddition addition)
      throws ProTransException {
    if (description.equalsIgnoreCase("BreddeX2+h�ydeX2")) {
      return new AdditionWidhtHeight(addition, null, "Lang garasje");
    } else if (description.equalsIgnoreCase("Takstein")) {
      return new AdditionTiles(addition, "Takstein", "Takstein");
    } else if (description.equalsIgnoreCase("Takstol")) {
      return new AdditionTruss(addition, "Takstoler", "Takstol");
    } else if (description.equalsIgnoreCase("St�ende tak")) {
      return new AdditionStandingRoof(addition, null, "St�ende tak");
    } else {
      throw new ProTransException("Ikke definert klasse for tillegg "
          + addition.getDescription());
    }
  }
}
TOP

Related Classes of no.ugland.utransprod.service.impl.TransportCostAdditionImplFacory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.