/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.28
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.entrouvert.lasso;

public class LibRegisterNameIdentifierRequest extends SamlpRequestAbstract {
  protected LibRegisterNameIdentifierRequest(long cPtr, boolean cMemoryOwn) {
    super(cPtr, cMemoryOwn);
  }

  protected static long getCPtr(LibRegisterNameIdentifierRequest obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public void delete() {
  super.delete();
}

  public void setProviderId(String value) {
    lassoJNI.LibRegisterNameIdentifierRequest_providerId_set(swigCPtr, value);
  }

  public String getProviderId() {
    return lassoJNI.LibRegisterNameIdentifierRequest_providerId_get(swigCPtr);
  }

  public void setRelayState(String value) {
    lassoJNI.LibRegisterNameIdentifierRequest_relayState_set(swigCPtr, value);
  }

  public String getRelayState() {
    return lassoJNI.LibRegisterNameIdentifierRequest_relayState_get(swigCPtr);
  }

  public void setCertificateFile(String value) {
    lassoJNI.LibRegisterNameIdentifierRequest_certificateFile_set(swigCPtr, value);
  }

  public String getCertificateFile() {
    return lassoJNI.LibRegisterNameIdentifierRequest_certificateFile_get(swigCPtr);
  }

  public void setIssueInstant(String value) {
    lassoJNI.LibRegisterNameIdentifierRequest_issueInstant_set(swigCPtr, value);
  }

  public String getIssueInstant() {
    return lassoJNI.LibRegisterNameIdentifierRequest_issueInstant_get(swigCPtr);
  }

  public void setMajorVersion(int value) {
    lassoJNI.LibRegisterNameIdentifierRequest_majorVersion_set(swigCPtr, value);
  }

  public int getMajorVersion() {
    return lassoJNI.LibRegisterNameIdentifierRequest_majorVersion_get(swigCPtr);
  }

  public void setMinorVersion(int value) {
    lassoJNI.LibRegisterNameIdentifierRequest_minorVersion_set(swigCPtr, value);
  }

  public int getMinorVersion() {
    return lassoJNI.LibRegisterNameIdentifierRequest_minorVersion_get(swigCPtr);
  }

  public void setPrivateKeyFile(String value) {
    lassoJNI.LibRegisterNameIdentifierRequest_privateKeyFile_set(swigCPtr, value);
  }

  public String getPrivateKeyFile() {
    return lassoJNI.LibRegisterNameIdentifierRequest_privateKeyFile_get(swigCPtr);
  }

  public void setRequestId(String value) {
    lassoJNI.LibRegisterNameIdentifierRequest_requestId_set(swigCPtr, value);
  }

  public String getRequestId() {
    return lassoJNI.LibRegisterNameIdentifierRequest_requestId_get(swigCPtr);
  }

  public void setRespondWith(StringList value) {
    lassoJNI.LibRegisterNameIdentifierRequest_respondWith_set(swigCPtr, StringList.getCPtr(value));
  }

  public StringList getRespondWith() {
    long cPtr = lassoJNI.LibRegisterNameIdentifierRequest_respondWith_get(swigCPtr);
    return (cPtr == 0) ? null : new StringList(cPtr, false);
  }

  public void setSignMethod(int value) {
    lassoJNI.LibRegisterNameIdentifierRequest_signMethod_set(swigCPtr, value);
  }

  public int getSignMethod() {
    return lassoJNI.LibRegisterNameIdentifierRequest_signMethod_get(swigCPtr);
  }

  public void setSignType(SWIGTYPE_p_LassoSignatureType value) {
    lassoJNI.LibRegisterNameIdentifierRequest_signType_set(swigCPtr, SWIGTYPE_p_LassoSignatureType.getCPtr(value));
  }

  public SWIGTYPE_p_LassoSignatureType getSignType() {
    return new SWIGTYPE_p_LassoSignatureType(lassoJNI.LibRegisterNameIdentifierRequest_signType_get(swigCPtr), true);
  }

  public void setExtension(StringList value) {
    lassoJNI.LibRegisterNameIdentifierRequest_extension_set(swigCPtr, StringList.getCPtr(value));
  }

  public StringList getExtension() {
    long cPtr = lassoJNI.LibRegisterNameIdentifierRequest_extension_get(swigCPtr);
    return (cPtr == 0) ? null : new StringList(cPtr, false);
  }

  public void setIdpProvidedNameIdentifier(SamlNameIdentifier value) {
    lassoJNI.LibRegisterNameIdentifierRequest_idpProvidedNameIdentifier_set(swigCPtr, SamlNameIdentifier.getCPtr(value));
  }

  public SamlNameIdentifier getIdpProvidedNameIdentifier() {
    long cPtr = lassoJNI.LibRegisterNameIdentifierRequest_idpProvidedNameIdentifier_get(swigCPtr);
    return (cPtr == 0) ? null : new SamlNameIdentifier(cPtr, false);
  }

  public void setOldProvidedNameIdentifier(SamlNameIdentifier value) {
    lassoJNI.LibRegisterNameIdentifierRequest_oldProvidedNameIdentifier_set(swigCPtr, SamlNameIdentifier.getCPtr(value));
  }

  public SamlNameIdentifier getOldProvidedNameIdentifier() {
    long cPtr = lassoJNI.LibRegisterNameIdentifierRequest_oldProvidedNameIdentifier_get(swigCPtr);
    return (cPtr == 0) ? null : new SamlNameIdentifier(cPtr, false);
  }

  public void setSpProvidedNameIdentifier(SamlNameIdentifier value) {
    lassoJNI.LibRegisterNameIdentifierRequest_spProvidedNameIdentifier_set(swigCPtr, SamlNameIdentifier.getCPtr(value));
  }

  public SamlNameIdentifier getSpProvidedNameIdentifier() {
    long cPtr = lassoJNI.LibRegisterNameIdentifierRequest_spProvidedNameIdentifier_get(swigCPtr);
    return (cPtr == 0) ? null : new SamlNameIdentifier(cPtr, false);
  }

  public LibRegisterNameIdentifierRequest() {
    this(lassoJNI.new_LibRegisterNameIdentifierRequest(), true);
  }

  public static LibRegisterNameIdentifierRequest newFull(String providerID, SamlNameIdentifier idpNameIdentifier, SamlNameIdentifier spNameIdentifier, SamlNameIdentifier oldNameIdentifier, SWIGTYPE_p_LassoSignatureType sign_type, int sign_method) {
    long cPtr = lassoJNI.LibRegisterNameIdentifierRequest_newFull(providerID, SamlNameIdentifier.getCPtr(idpNameIdentifier), SamlNameIdentifier.getCPtr(spNameIdentifier), SamlNameIdentifier.getCPtr(oldNameIdentifier), SWIGTYPE_p_LassoSignatureType.getCPtr(sign_type), sign_method);
    return (cPtr == 0) ? null : new LibRegisterNameIdentifierRequest(cPtr, true);
  }

  public String dump() {
    return lassoJNI.LibRegisterNameIdentifierRequest_dump(swigCPtr);
  }

}
