code: protected void processField(Row row, String fieldIDColumn, Integer entityID, Object value)
     {
        int fieldID = row.getInt(fieldIDColumn);
  
        int prefix = fieldID & 0xFFFF0000;
        int index = fieldID & 0x0000FFFF;
  
        switch (prefix)
        {
           case MPPTaskField.TASK_FIELD_BASE:
           {
              TaskField field = MPPTaskField.getInstance(index);
              if (field != null && field != TaskField.NOTES)
              {
                 Task task = m_project.getTaskByUniqueID(entityID);
                 if (task != null)
                 {
                    if (field.getDataType() == DataType.CURRENCY)
                    {
                       value = Double.valueOf(((Double) value).doubleValue() / 100);
                    }
                    task.set(field, value);
                 }
              }
              break;
           }
  
           case MPPResourceField.RESOURCE_FIELD_BASE:
           {
              ResourceField field = MPPResourceField.getInstance(index);
              if (field != null && field != ResourceField.NOTES)
              {
                 Resource resource = m_project.getResourceByUniqueID(entityID);
                 if (resource != null)
                 {
                    if (field.getDataType() == DataType.CURRENCY)
                    {
                       value = Double.valueOf(((Double) value).doubleValue() / 100);
                    }
                    resource.set(field, value);
                 }
              }
              break;
           }
  
           case MPPAssignmentField.ASSIGNMENT_FIELD_BASE:
           {
              AssignmentField field = MPPAssignmentField.getInstance(index);
              if (field != null && field != AssignmentField.NOTES)
              {
                 ResourceAssignment assignment = m_assignmentMap.get(entityID);
                 if (assignment != null)
                 {
                    if (field.getDataType() == DataType.CURRENCY)
                    {
                       value = Double.valueOf(((Double) value).doubleValue() / 100);
                    }
                    assignment.set(field, value);
                 }
              }
  
              break;
           }
        }
     }
docs: Generic method to process an extended attribute field.
  
  @param row extended attribute data
  @param fieldIDColumn column containing the field ID
  @param entityID parent entity ID
  @param value field value