private void writeAssignmentExtendedAttributes(Project.Assignments.Assignment xml, ResourceAssignment mpx)
   {
      Project.Assignments.Assignment.ExtendedAttribute attrib;
      List<Project.Assignments.Assignment.ExtendedAttribute> extendedAttributes = xml.getExtendedAttribute();

      for (AssignmentField mpxFieldID : getAllAssignmentExtendedAttributes())
      {
         Object value = mpx.getCachedValue(mpxFieldID);

         if (FieldTypeHelper.valueIsNotDefault(mpxFieldID, value))
         {
            m_extendedAttributesInUse.add(mpxFieldID);

            Integer xmlFieldID = Integer.valueOf(MPPAssignmentField.getID(mpxFieldID) | MPPAssignmentField.ASSIGNMENT_FIELD_BASE);

            attrib = m_factory.createProjectAssignmentsAssignmentExtendedAttribute();
            extendedAttributes.add(attrib);
            attrib.setFieldID(xmlFieldID.toString());
            attrib.setValue(DatatypeConverter.printExtendedAttribute(this, value, mpxFieldID.getDataType()));
            attrib.setDurationFormat(printExtendedAttributeDurationFormat(value));
         }
      }
   }
private void writeAssignmentExtendedAttributes ( Project . Assignments . Assignment xml , ResourceAssignment mpx ) { Project . Assignments . Assignment . ExtendedAttribute attrib ; List < Project . Assignments . Assignment . ExtendedAttribute > extendedAttributes = xml . getExtendedAttribute ( ) ; for ( AssignmentField mpxFieldID : getAllAssignmentExtendedAttributes ( ) ) { Object value = mpx . getCachedValue ( mpxFieldID ) ; if ( FieldTypeHelper . valueIsNotDefault ( mpxFieldID , value ) ) { m_extendedAttributesInUse . add ( mpxFieldID ) ; Integer xmlFieldID = Integer . valueOf ( MPPAssignmentField . getID ( mpxFieldID ) | MPPAssignmentField . ASSIGNMENT_FIELD_BASE ) ; attrib = m_factory . createProjectAssignmentsAssignmentExtendedAttribute ( ) ; extendedAttributes . add ( attrib ) ; attrib . setFieldID ( xmlFieldID . toString ( ) ) ; attrib . setValue ( DatatypeConverter . printExtendedAttribute ( this , value , mpxFieldID . getDataType ( ) ) ) ; attrib . setDurationFormat ( printExtendedAttributeDurationFormat ( value ) ) ; } } }
This method writes extended attribute data for an assignment.

@param xml MSPDI assignment
@param mpx MPXJ assignment