org.eclipse.mylar.tasks.core
Class DelegatingTaskExternalizer

java.lang.Object
  extended by org.eclipse.mylar.tasks.core.DelegatingTaskExternalizer
All Implemented Interfaces:
ITaskListExternalizer
Direct Known Subclasses:
MockRepositoryExternalizer, WebTaskExternalizer

public class DelegatingTaskExternalizer
extends java.lang.Object
implements ITaskListExternalizer

Author:
Mik Kersten, Ken Sueda (XML serialization support), Steffen Pingel

Field Summary
private static java.lang.String DATE_FORMAT
           
private static java.lang.String DEFAULT_PRIORITY
           
private  java.util.List<ITaskListExternalizer> delegateExternalizers
           
static java.lang.String KEY_ACTIVE
           
static java.lang.String KEY_CATEGORY
           
static java.lang.String KEY_COMPLETE
           
static java.lang.String KEY_DATE_CREATION
           
static java.lang.String KEY_DATE_END
           
static java.lang.String KEY_DATE_REMINDER
           
static java.lang.String KEY_DIRTY
           
static java.lang.String KEY_HANDLE
           
static java.lang.String KEY_ISSUEURL
           
static java.lang.String KEY_KIND
           
static java.lang.String KEY_LABEL
           
static java.lang.String KEY_LAST_MOD_DATE
          This element holds the date stamp recorded upon last transition to a synchronized state.
static java.lang.String KEY_LAST_REFRESH
           
static java.lang.String KEY_LINK
           
static java.lang.String KEY_NAME
           
static java.lang.String KEY_NOTES
           
static java.lang.String KEY_NOTIFIED_INCOMING
           
static java.lang.String KEY_PATH
           
static java.lang.String KEY_PLAN
           
static java.lang.String KEY_PRIORITY
           
static java.lang.String KEY_QUERY
           
static java.lang.String KEY_QUERY_HIT
           
static java.lang.String KEY_QUERY_MAX_HITS
           
static java.lang.String KEY_QUERY_STRING
           
static java.lang.String KEY_REMINDED
           
static java.lang.String KEY_REPOSITORY_URL
           
static java.lang.String KEY_SYNC_STATE
           
static java.lang.String KEY_TASK
           
static java.lang.String KEY_TASK_CATEGORY
           
static java.lang.String KEY_TIME_ESTIMATED
           
static java.lang.String VAL_FALSE
           
static java.lang.String VAL_ROOT
           
static java.lang.String VAL_TRUE
           
 
Constructor Summary
DelegatingTaskExternalizer()
           
 
Method Summary
 boolean canCreateElementFor(AbstractQueryHit queryHit)
           
 boolean canCreateElementFor(AbstractRepositoryQuery query)
           
 boolean canCreateElementFor(ITask task)
          Override to create specific elements
 boolean canReadCategory(org.w3c.dom.Node node)
           
 boolean canReadQuery(org.w3c.dom.Node node)
           
 boolean canReadQueryHit(org.w3c.dom.Node node)
           
 boolean canReadTask(org.w3c.dom.Node node)
           
 org.w3c.dom.Element createCategoryElement(AbstractTaskContainer category, org.w3c.dom.Document doc, org.w3c.dom.Element parent)
           
 org.w3c.dom.Element createQueryElement(AbstractRepositoryQuery query, org.w3c.dom.Document doc, org.w3c.dom.Element parent)
           
 org.w3c.dom.Element createQueryHitElement(AbstractQueryHit queryHit, org.w3c.dom.Document doc, org.w3c.dom.Element parent)
           
 org.w3c.dom.Element createTaskElement(ITask task, org.w3c.dom.Document doc, org.w3c.dom.Element parent)
           
protected  java.lang.String formatExternDate(java.util.Date date)
           
 java.lang.String getCategoryTagName()
           
protected  java.util.Date getDateFromString(java.lang.String dateString)
           
 java.util.List<ITaskListExternalizer> getDelegateExternalizers()
           
 java.lang.String getQueryHitTagName()
           
 java.lang.String getQueryTagNameForElement(AbstractRepositoryQuery query)
           
 java.lang.String getTaskTagName()
           
 void readCategory(org.w3c.dom.Node node, TaskList taskList)
           
 AbstractRepositoryQuery readQuery(org.w3c.dom.Node node, TaskList tlist)
           
 void readQueryHit(org.w3c.dom.Node node, TaskList tlist, AbstractRepositoryQuery query)
           
 void readQueryHitInfo(AbstractQueryHit hit, TaskList taskList, AbstractRepositoryQuery query, org.w3c.dom.Element element)
           
 ITask readTask(org.w3c.dom.Node node, TaskList taskList, AbstractTaskContainer category, ITask parent)
           
protected  void readTaskData(AbstractRepositoryTask task)
           
protected  void readTaskInfo(ITask task, TaskList taskList, org.w3c.dom.Element element, ITask parent, AbstractTaskContainer legacyCategory)
           
 void setDelegateExternalizers(java.util.List<ITaskListExternalizer> externalizers)
          Set these on the TaskListWriter instead
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PRIORITY

private static final java.lang.String DEFAULT_PRIORITY

DATE_FORMAT

private static final java.lang.String DATE_FORMAT
See Also:
Constant Field Values

KEY_QUERY

public static final java.lang.String KEY_QUERY
See Also:
Constant Field Values

KEY_QUERY_HIT

public static final java.lang.String KEY_QUERY_HIT
See Also:
Constant Field Values

KEY_QUERY_MAX_HITS

public static final java.lang.String KEY_QUERY_MAX_HITS
See Also:
Constant Field Values

KEY_QUERY_STRING

public static final java.lang.String KEY_QUERY_STRING
See Also:
Constant Field Values

KEY_NOTIFIED_INCOMING

public static final java.lang.String KEY_NOTIFIED_INCOMING
See Also:
Constant Field Values

KEY_LAST_REFRESH

public static final java.lang.String KEY_LAST_REFRESH
See Also:
Constant Field Values

KEY_LABEL

public static final java.lang.String KEY_LABEL
See Also:
Constant Field Values

KEY_HANDLE

public static final java.lang.String KEY_HANDLE
See Also:
Constant Field Values

KEY_REPOSITORY_URL

public static final java.lang.String KEY_REPOSITORY_URL
See Also:
Constant Field Values

KEY_CATEGORY

public static final java.lang.String KEY_CATEGORY
See Also:
Constant Field Values

VAL_ROOT

public static final java.lang.String VAL_ROOT
See Also:
Constant Field Values

KEY_TASK

public static final java.lang.String KEY_TASK
See Also:
Constant Field Values

KEY_KIND

public static final java.lang.String KEY_KIND
See Also:
Constant Field Values

KEY_TASK_CATEGORY

public static final java.lang.String KEY_TASK_CATEGORY
See Also:
Constant Field Values

KEY_LINK

public static final java.lang.String KEY_LINK
See Also:
Constant Field Values

KEY_PLAN

public static final java.lang.String KEY_PLAN
See Also:
Constant Field Values

KEY_TIME_ESTIMATED

public static final java.lang.String KEY_TIME_ESTIMATED
See Also:
Constant Field Values

KEY_ISSUEURL

public static final java.lang.String KEY_ISSUEURL
See Also:
Constant Field Values

KEY_NOTES

public static final java.lang.String KEY_NOTES
See Also:
Constant Field Values

KEY_ACTIVE

public static final java.lang.String KEY_ACTIVE
See Also:
Constant Field Values

KEY_COMPLETE

public static final java.lang.String KEY_COMPLETE
See Also:
Constant Field Values

KEY_PRIORITY

public static final java.lang.String KEY_PRIORITY
See Also:
Constant Field Values

KEY_PATH

public static final java.lang.String KEY_PATH
See Also:
Constant Field Values

VAL_FALSE

public static final java.lang.String VAL_FALSE
See Also:
Constant Field Values

VAL_TRUE

public static final java.lang.String VAL_TRUE
See Also:
Constant Field Values

KEY_NAME

public static final java.lang.String KEY_NAME
See Also:
Constant Field Values

KEY_DATE_END

public static final java.lang.String KEY_DATE_END
See Also:
Constant Field Values

KEY_DATE_CREATION

public static final java.lang.String KEY_DATE_CREATION
See Also:
Constant Field Values

KEY_DATE_REMINDER

public static final java.lang.String KEY_DATE_REMINDER
See Also:
Constant Field Values

KEY_REMINDED

public static final java.lang.String KEY_REMINDED
See Also:
Constant Field Values

KEY_LAST_MOD_DATE

public static final java.lang.String KEY_LAST_MOD_DATE
This element holds the date stamp recorded upon last transition to a synchronized state.

See Also:
Constant Field Values

KEY_DIRTY

public static final java.lang.String KEY_DIRTY
See Also:
Constant Field Values

KEY_SYNC_STATE

public static final java.lang.String KEY_SYNC_STATE
See Also:
Constant Field Values

delegateExternalizers

private java.util.List<ITaskListExternalizer> delegateExternalizers
Constructor Detail

DelegatingTaskExternalizer

public DelegatingTaskExternalizer()
Method Detail

setDelegateExternalizers

public void setDelegateExternalizers(java.util.List<ITaskListExternalizer> externalizers)
Set these on the TaskListWriter instead


createCategoryElement

public org.w3c.dom.Element createCategoryElement(AbstractTaskContainer category,
                                                 org.w3c.dom.Document doc,
                                                 org.w3c.dom.Element parent)
Specified by:
createCategoryElement in interface ITaskListExternalizer
Returns:
the element that was created, null if failed

canCreateElementFor

public boolean canCreateElementFor(ITask task)
Override to create specific elements

Specified by:
canCreateElementFor in interface ITaskListExternalizer

createTaskElement

public org.w3c.dom.Element createTaskElement(ITask task,
                                             org.w3c.dom.Document doc,
                                             org.w3c.dom.Element parent)
Specified by:
createTaskElement in interface ITaskListExternalizer
Returns:
the element that was created, null if failed

formatExternDate

protected java.lang.String formatExternDate(java.util.Date date)

canReadCategory

public boolean canReadCategory(org.w3c.dom.Node node)
Specified by:
canReadCategory in interface ITaskListExternalizer

readCategory

public void readCategory(org.w3c.dom.Node node,
                         TaskList taskList)
                  throws TaskExternalizationException
Specified by:
readCategory in interface ITaskListExternalizer
Throws:
TaskExternalizationException

canReadTask

public boolean canReadTask(org.w3c.dom.Node node)
Specified by:
canReadTask in interface ITaskListExternalizer

readTask

public ITask readTask(org.w3c.dom.Node node,
                      TaskList taskList,
                      AbstractTaskContainer category,
                      ITask parent)
               throws TaskExternalizationException
Specified by:
readTask in interface ITaskListExternalizer
Throws:
TaskExternalizationException

readTaskInfo

protected void readTaskInfo(ITask task,
                            TaskList taskList,
                            org.w3c.dom.Element element,
                            ITask parent,
                            AbstractTaskContainer legacyCategory)
                     throws TaskExternalizationException
Throws:
TaskExternalizationException

readTaskData

protected void readTaskData(AbstractRepositoryTask task)

getDateFromString

protected java.util.Date getDateFromString(java.lang.String dateString)

getCategoryTagName

public java.lang.String getCategoryTagName()
Specified by:
getCategoryTagName in interface ITaskListExternalizer

getTaskTagName

public java.lang.String getTaskTagName()
Specified by:
getTaskTagName in interface ITaskListExternalizer

canCreateElementFor

public boolean canCreateElementFor(AbstractRepositoryQuery query)
Specified by:
canCreateElementFor in interface ITaskListExternalizer

createQueryElement

public org.w3c.dom.Element createQueryElement(AbstractRepositoryQuery query,
                                              org.w3c.dom.Document doc,
                                              org.w3c.dom.Element parent)
Specified by:
createQueryElement in interface ITaskListExternalizer

canReadQuery

public boolean canReadQuery(org.w3c.dom.Node node)
Specified by:
canReadQuery in interface ITaskListExternalizer

readQuery

public AbstractRepositoryQuery readQuery(org.w3c.dom.Node node,
                                         TaskList tlist)
                                  throws TaskExternalizationException
Specified by:
readQuery in interface ITaskListExternalizer
Throws:
TaskExternalizationException

getQueryTagNameForElement

public java.lang.String getQueryTagNameForElement(AbstractRepositoryQuery query)
Specified by:
getQueryTagNameForElement in interface ITaskListExternalizer

getQueryHitTagName

public java.lang.String getQueryHitTagName()
Specified by:
getQueryHitTagName in interface ITaskListExternalizer

canCreateElementFor

public boolean canCreateElementFor(AbstractQueryHit queryHit)
Specified by:
canCreateElementFor in interface ITaskListExternalizer

createQueryHitElement

public org.w3c.dom.Element createQueryHitElement(AbstractQueryHit queryHit,
                                                 org.w3c.dom.Document doc,
                                                 org.w3c.dom.Element parent)
Specified by:
createQueryHitElement in interface ITaskListExternalizer

canReadQueryHit

public boolean canReadQueryHit(org.w3c.dom.Node node)
Specified by:
canReadQueryHit in interface ITaskListExternalizer

readQueryHit

public void readQueryHit(org.w3c.dom.Node node,
                         TaskList tlist,
                         AbstractRepositoryQuery query)
                  throws TaskExternalizationException
Specified by:
readQueryHit in interface ITaskListExternalizer
Throws:
TaskExternalizationException

readQueryHitInfo

public void readQueryHitInfo(AbstractQueryHit hit,
                             TaskList taskList,
                             AbstractRepositoryQuery query,
                             org.w3c.dom.Element element)
                      throws TaskExternalizationException
Throws:
TaskExternalizationException

getDelegateExternalizers

public java.util.List<ITaskListExternalizer> getDelegateExternalizers()