package de.ivu.elect.business.email.boundary;

import de.ivu.elect.business.email.entity.EmailLayout;
import de.ivu.elect.business.email.entity.EmailVorlage;
import de.ivu.elect.jee.presentation.dynamicform.Property;
import de.ivu.elect.presentation.email.form.EmailVorlageEmailLayoutZuordnenProperties;
import org.apache.deltaspike.core.api.scope.ConversationGroup;
import org.apache.deltaspike.core.api.scope.GroupedConversationScoped;

import javax.inject.Inject;

@GroupedConversationScoped
@ConversationGroup(AbstractEmailVorlageSearchParameters.class)
public class EmailVorlageSearchParameters extends AbstractEmailVorlageSearchParameters {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient EmailVorlageEmailLayoutZuordnenProperties emailVorlageEmailLayoutZuordnenProperties;

  private EmailVorlage emailVorlage;

  public EmailVorlageSearchParameters() {
    super();
  }

  protected EmailVorlage getEmailVorlage() {
    if (emailVorlage == null) {
      emailVorlage = new EmailVorlage();
    }
    return emailVorlage;
  }

  public String getBezeichnung() {
    return getEmailVorlage().getBezeichnung();
  }

  public EmailLayout getEmailLayout() {
    return getEmailVorlage().getEmailLayout();
  }

  public Property getBezeichnungProperty() {
    return getEmailVorlage().getProperties().getBezeichnungProperty();
  }

  public Property getEmailLayoutProperty() {
    return emailVorlageEmailLayoutZuordnenProperties.getEmailVorlageEmailLayoutProperty(getEmailVorlage());
  }
}
