#209 Refactoring Document Processing by Type

Companies:
Gaskargroup Exon
Themes:
JavaOOPPractice

Refactor the code:

public class RefEx {
    public enum DocumentType {
        XML, PDF, DOCX
    }
    public static class Document {
        String id;
        DocumentType type;
        String content;
    }
    public static class DocumentService {
        public void process(Document[] d) {
            for (Document i : d) {
                // Common document-processing logic
                switch (i.type) {
                    case DocumentType.PDF: {
                        // Specific PDF-processing logic
                    }
                    break;
                    case DocumentType.DOCX: {
                        // Specific Word-processing logic
                    }
                    break;
                    case DocumentType.XML: {
                        // Specific XML-processing logic
                    }
                    break;
                }
            }
        }
    }
}

Question review

Mentor
Answer as you would in a real interview. I’ll ask follow-up questions, then compare your answer with the reference answer and show your accuracy as a %.
Sign in to start the dialogue The mentor keeps the context of the current question and your previous messages.
Sign in