/*
 * Copyright (C) 2022 The Libphonenumber Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @author Tobias Rogg
 */

package com.google.phonenumbers.demo.render;

import com.google.phonenumbers.demo.template.ResultErrorTemplates;
import com.google.phonenumbers.demo.template.ResultErrorTemplates.Error;
import java.util.Locale;

public class ErrorRenderer extends LibPhoneNumberRenderer<Error> {
  private final String phoneNumber;
  private final String defaultCountry;
  private final Locale geocodingLocale;
  private final String error;

  public ErrorRenderer(
      String phoneNumber, String defaultCountry, Locale geocodingLocale, String error) {
    super("result_error.soy", "com.google.phonenumbers.demo.error");
    this.phoneNumber = phoneNumber;
    this.defaultCountry = defaultCountry;
    this.geocodingLocale = geocodingLocale;
    this.error = error;
  }

  @Override
  public String genHtml() {
    return super.render(
        ResultErrorTemplates.Error.builder()
            .setPhoneNumber(phoneNumber)
            .setDefaultCountry(defaultCountry)
            .setGeocodingLocale(geocodingLocale.toLanguageTag())
            .setError(error)
            .build());
  }
}
