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

import java.io.Serializable;

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;

import org.apache.deltaspike.core.api.scope.ConversationGroup;

import de.ivu.elect.business.personenregister.entity.PersonenregisterPersonendaten;

@RequestScoped
@Named(PersonenregisterPersonendatenConversationSelect.COMPONENT_NAME)
public class PersonenregisterPersonendatenConversationSelect implements Serializable {

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "personenregisterSelectionConversationSelect";

  @Inject
  @ConversationGroup(PersonenregisterPersonendatenConversationStore.class)
  protected transient PersonenregisterPersonendatenConversationStore conversationStore;

  public PersonenregisterPersonendatenConversationSelect() {
    super();
  }

  public boolean isPersonenregisterPersonendatenSelected() {
    return conversationStore.isPersonenregisterPersonendatenSelected();
  }

  public PersonenregisterPersonendaten getPersonenregisterPersonendaten() {
    return conversationStore.getPersonenregisterPersonendaten();
  }

  public void setPersonenregisterPersonendaten(PersonenregisterPersonendaten personenregisterPersonendaten) {
    conversationStore.setPersonenregisterPersonendaten(personenregisterPersonendaten);
  }

  public boolean isPersonenregisterByPersonendatenSearchParametersSelected() {
    return conversationStore.isPersonenregisterByPersonendatenSearchParametersSelected();
  }

  public PersonenregisterByPersonendatenSearchParameters getPersonenregisterByPersonendatenSearchParameters() {
    return conversationStore.getPersonenregisterByPersonendatenSearchParameters();
  }

  public void setPersonenregisterByPersonendatenSearchParameters(PersonenregisterByPersonendatenSearchParameters searchParameters) {
    conversationStore.setPersonenregisterByPersonendatenSearchParameters(searchParameters);
  }

  public boolean isSelected() {
    return isPersonenregisterPersonendatenSelected() || isPersonenregisterByPersonendatenSearchParametersSelected();
  }

  public void clear() {
    if (isPersonenregisterPersonendatenSelected()) {
      conversationStore.setPersonenregisterPersonendaten(null);
    }

    if (isPersonenregisterByPersonendatenSearchParametersSelected()) {
      conversationStore.setPersonenregisterByPersonendatenSearchParameters(null);
    }

    conversationStore.close();
  }
}
