text: /**
   * 
   * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
   *
   * The version of the OpenAPI document: 1.0.0
   * 
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   * Do not edit the class manually.
   *
   */
  
  import ApiClient from '../ApiClient';
  import NetCordaCoreNodeServicesVaultCriteriaExpression from './NetCordaCoreNodeServicesVaultCriteriaExpression';
  import NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf from './NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf';
  import NetCordaCoreNodeServicesVaultCriteriaExpressionNetCordaCoreSchemasStatePersistableBoolean from './NetCordaCoreNodeServicesVaultCriteriaExpressionNetCordaCoreSchemasStatePersistableBoolean';
  import NetCordaCoreNodeServicesVaultCriteriaExpressionObjectBoolean from './NetCordaCoreNodeServicesVaultCriteriaExpressionObjectBoolean';
  
  /**
   * The NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical model module.
   * @module io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical
   * @version 1.0.0
   */
  class NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical {
      /**
       * Constructs a new <code>NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical</code>.
       * @alias module:io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical
       * @extends 
       * @implements module:io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpressionObjectBoolean
       * @implements module:io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf
       * @implements module:io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpression
       * @implements module:io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpressionNetCordaCoreSchemasStatePersistableBoolean
       */
      constructor() { 
          NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf.initialize(this);
          NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical.initialize(this);
      }
  
      /**
       * Initializes the fields of this object.
       * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
       * Only for internal use.
       */
      static initialize(obj) { 
          obj['left'] = left;
          obj['right'] = right;
          obj['operator'] = operator;
      }
  
      /**
       * Constructs a <code>NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical</code> from a plain JavaScript object, optionally creating a new instance.
       * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
       * @param {Object} data The plain JavaScript object bearing properties of interest.
       * @param {module:io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical} obj Optional instance to populate.
       * @return {module:io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical} The populated <code>NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical</code> instance.
       */
      static constructFromObject(data, obj) {
          if (data) {
              obj = obj || new NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical();
  
              ApiClient.constructFromObject(data, obj, '');
              
              NetCordaCoreNodeServicesVaultCriteriaExpressionObjectBoolean.constructFromObject(data, obj);
              NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf.constructFromObject(data, obj);
              NetCordaCoreNodeServicesVaultCriteriaExpression.constructFromObject(data, obj);
              NetCordaCoreNodeServicesVaultCriteriaExpressionNetCordaCoreSchemasStatePersistableBoolean.constructFromObject(data, obj);
  
              if (data.hasOwnProperty('left')) {
                  obj['left'] = ApiClient.convertToType(data['left'], Object);
              }
              if (data.hasOwnProperty('right')) {
                  obj['right'] = ApiClient.convertToType(data['right'], Object);
              }
              if (data.hasOwnProperty('operator')) {
                  obj['operator'] = ApiClient.convertToType(data['operator'], 'String');
              }
          }
          return obj;
      }
  
  
  }
  
  /**
   * @member {Object} left
   */
  NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical.prototype['left'] = undefined;
  
  /**
   * @member {Object} right
   */
  NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical.prototype['right'] = undefined;
  
  /**
   * @member {module:io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical.OperatorEnum} operator
   */
  NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical.prototype['operator'] = undefined;
  
  
  // Implement NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf interface:
  /**
   * @member {Object} left
   */
  NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf.prototype['left'] = undefined;
  /**
   * @member {Object} right
   */
  NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf.prototype['right'] = undefined;
  /**
   * @member {module:io.generated.model/NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf.OperatorEnum} operator
   */
  NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogicalAllOf.prototype['operator'] = undefined;
  
  
  
  /**
   * Allowed values for the <code>operator</code> property.
   * @enum {String}
   * @readonly
   */
  NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical['OperatorEnum'] = {
  
      /**
       * value: "AND"
       * @const
       */
      "AND": "AND",
  
      /**
       * value: "OR"
       * @const
       */
      "OR": "OR"
  };
  
  
  
  export default NetCordaCoreNodeServicesVaultCriteriaExpressionBinaryLogical;
  
  