@@ -0,0 +1,646 @@
+package utask.model.task;%0A//@@author A0138423J%0Apublic enum Attributes %7B%0A    DEADLINE, TIMESTAMP, ISCOMPLETED, FREQUENCY, TAG, UNKNOWN;%0A%0A    String key;%0A%0A    Attributes(String key) %7B%0A        this.key = key;%0A    %7D%0A%0A    Attributes() %7B%0A    %7D%0A%0A    Attributes getValue(String attribute) %7B%0A        switch (attribute) %7B%0A        case %22deadline%22:%0A            return DEADLINE;%0A        case %22timestamp%22:%0A            return TIMESTAMP;%0A        case %22iscompleted%22:%0A            return ISCOMPLETED;%0A        case %22frequency%22:%0A            return FREQUENCY;%0A        case %22tag%22:%0A            return TAG;%0A        default:%0A            return UNKNOWN;%0A        %7D%0A    %7D%0A%0A%7D%0A

Add Enumerable for task attributes