code: private void writeProjectProperties(ProjectProperties record) throws IOException
     {
        // the ProjectProperties class from MPXJ has the details of how many days per week etc....
        // so I've assigned these variables in here, but actually use them in other methods
        // see the write task method, that's where they're used, but that method only has a Task object
        m_minutesPerDay = record.getMinutesPerDay().doubleValue();
        m_minutesPerWeek = record.getMinutesPerWeek().doubleValue();
        m_daysPerMonth = record.getDaysPerMonth().doubleValue();
  
        // reset buffer to be empty, then concatenate data as required by USACE
        m_buffer.setLength(0);
        m_buffer.append("PROJ ");
        m_buffer.append(m_formatter.format(record.getStartDate()).toUpperCase() + " "); // DataDate
        m_buffer.append(SDEFmethods.lset(record.getManager(), 4) + " "); // ProjIdent
        m_buffer.append(SDEFmethods.lset(record.getProjectTitle(), 48) + " "); // ProjName
        m_buffer.append(SDEFmethods.lset(record.getSubject(), 36) + " "); // ContrName
        m_buffer.append("P "); // ArrowP
        m_buffer.append(SDEFmethods.lset(record.getKeywords(), 7)); // ContractNum
        m_buffer.append(m_formatter.format(record.getStartDate()).toUpperCase() + " "); // ProjStart
        m_buffer.append(m_formatter.format(record.getFinishDate()).toUpperCase()); // ProjEnd
        m_writer.println(m_buffer);
     }
docs: Write project properties.
  
  @param record project properties
  @throws IOException