text: var Modeler = require('../Modeler.js');
  var className = 'TypeEndpointIncidentExportType';
  
  var TypeEndpointIncidentExportType = function (json, parentObj) {
    parentObj = parentObj || this;
  
    // Class property definitions here:
    Modeler.extend(className, {
      incidentId: {
        type: 'Typelong',
        wsdlDefinition: {
          name: 'incidentId',
          type: 'xs:long'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      incidentCreationDate: {
        type: 'date',
        wsdlDefinition: {
          name: 'incidentCreationDate',
          type: 'xs:dateTime'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      detectionDate: {
        type: 'date',
        wsdlDefinition: {
          name: 'detectionDate',
          type: 'xs:dateTime'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      severity: {
        type: 'TypeIncidentSeverityType',
        wsdlDefinition: {
          name: 'severity',
          type: 'ns1:IncidentSeverityType'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      status: {
        type: 'TypeIncidentStatusType',
        wsdlDefinition: {
          name: 'status',
          type: 'ns1:IncidentStatusType'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      messageSource: {
        type: 'TypeMessageSource',
        wsdlDefinition: {
          name: 'messageSource',
          type: 'ns1:MessageSource'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      messageType: {
        type: 'TypeMessageType',
        wsdlDefinition: {
          name: 'messageType',
          type: 'ns1:MessageType'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      policyName: {
        type: 'string',
        wsdlDefinition: {
          name: 'policyName',
          type: 'xs:string'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      policyLabel: {
        type: 'string',
        wsdlDefinition: {
          name: 'policyLabel',
          type: 'xs:string'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      policyVersion: {
        type: 'number',
        wsdlDefinition: {
          name: 'policyVersion',
          type: 'xs:int'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      blockedStatus: {
        type: 'TypeBlockedStatusType',
        wsdlDefinition: {
          name: 'blockedStatus',
          type: 'ns1:BlockedStatusType'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      matchCount: {
        type: 'number',
        wsdlDefinition: {
          name: 'matchCount',
          type: 'xs:int'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      detectionServer: {
        type: 'string',
        wsdlDefinition: {
          name: 'detectionServer',
          type: 'xs:string'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      numberOfMatchedTerms: {
        type: 'number',
        wsdlDefinition: {
          name: 'numberOfMatchedTerms',
          type: 'xs:int',
          minOccurs: '0'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      violation: {
        type: 'TypeViolationType',
        wsdlDefinition: {
          name: 'violation',
          type: 'ns1:ViolationType',
          nillable: 'true',
          minOccurs: '0',
          maxOccurs: 'unbounded'
        },
        mask: Modeler.GET | Modeler.SET | Modeler.ARRAY,
        required: false
      },
      customAttributeGroup: {
        type: 'TypeCustomAttributeGroupType',
        wsdlDefinition: {
          name: 'customAttributeGroup',
          type: 'ns1:CustomAttributeGroupType',
          nillable: 'true',
          minOccurs: '0',
          maxOccurs: 'unbounded'
        },
        mask: Modeler.GET | Modeler.SET | Modeler.ARRAY,
        required: false
      },
      incidentHistory: {
        type: 'TypeIncidentHistoryEntryType',
        wsdlDefinition: {
          name: 'incidentHistory',
          type: 'ns1:IncidentHistoryEntryType',
          nillable: 'true',
          minOccurs: '0',
          maxOccurs: 'unbounded'
        },
        mask: Modeler.GET | Modeler.SET | Modeler.ARRAY,
        required: false
      },
      dataOwner: {
        type: 'TypeDataOwnerType',
        wsdlDefinition: {
          name: 'dataOwner',
          type: 'ns1:DataOwnerType',
          minOccurs: '0'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      eventDate: {
        type: 'date',
        wsdlDefinition: {
          name: 'eventDate',
          type: 'xs:dateTime'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      applicationName: {
        type: 'string',
        wsdlDefinition: {
          name: 'applicationName',
          type: 'xs:string',
          minOccurs: '0'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      applicationPath: {
        type: 'string',
        wsdlDefinition: {
          name: 'applicationPath',
          type: 'xs:string',
          minOccurs: '0'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      userName: {
        type: 'string',
        wsdlDefinition: {
          name: 'userName',
          type: 'xs:string',
          minOccurs: '0'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      machineName: {
        type: 'string',
        wsdlDefinition: {
          name: 'machineName',
          type: 'xs:string',
          minOccurs: '0'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      userJustification: {
        type: 'string',
        wsdlDefinition: {
          name: 'userJustification',
          type: 'xs:string',
          minOccurs: '0'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      },
      superseded: {
        type: 'string',
        wsdlDefinition: {
          name: 'superseded',
          type: 'xs:string'
        },
        mask: Modeler.GET | Modeler.SET,
        required: false
      }
    }, parentObj, json);
  };
  
  module.exports = TypeEndpointIncidentExportType;
  Modeler.register(TypeEndpointIncidentExportType, 'TypeEndpointIncidentExportType');
  