# Todo list for | Generated by XDoclet.

Location | Description
--- | ---
xdoclet.XDocletTagSupport
| protected static java.lang.String delimit(java.lang.String attributeValue,java.util.Properties attributes)
| fix the () equals test, it is not nice. Test : finder Home definition on AccountBean
| public void generate(java.lang.String template)
| throw TemplateException instead
| protected static java.lang.String getTagValue(int forType,xjavadoc.XDoc doc,java.lang.String tagName,java.lang.String paramName,java.lang.String validValues,java.lang.String defaultValue,boolean superclasses,boolean mandatory)
| (Aslak) maybe this method ought to be moved to xjavadoc.XDoc? Not a big deal though.
xdoclet.ant.ReplaceCopy
| Write docs!!!!!!!!!!!!!!!!!
xdoclet.ant.modulesbuilder.ModulesGrandBuilderTask
| private final void tsort(java.lang.String root,java.util.Hashtable targets,java.util.Hashtable state,java.util.Stack visiting,java.util.Vector ret)
| i18n
xdoclet.loader.ModuleFinder
| Use reflection to call AntClassLoader.getClasspath to remove dependency to Ant. This package should be Ant independent
xdoclet.loader.XDocletXmlParser
| public xdoclet.loader.XDocletModule parse(java.io.InputStream in)
| log some sensible error messages
xdoclet.modules.doc.AntdocSubTask
| use DocletTask as parent instead. should be enough.
xdoclet.modules.doc.AntdocTagsHandler
| public java.lang.String rootlink()
| refactor this. It's copied more or less from InfoTagsHandler
xdoclet.modules.doc.DocumentDocletTask
| Remove this class. It does not add any functionality. (Aslak)
xdoclet.modules.doc.DocumentTagsSubTask
| use DocletTask as parent instead. should be enough.
xdoclet.modules.doc.info.InfoSubTask
| use DocletTask as parent instead. should be enough.
| public InfoSubTask()
| blabla (this is yet another test)
| public void execute()
| generate an overview summary html too? (the default right page). It could be the old todo file, a bit modified.
xdoclet.modules.ejb.EjbTagsHandler
| public static java.lang.String choosePackage(java.lang.String packageName,java.lang.String packagePattern,java.lang.String subtask)
| this method is really an utility method that should be deprecated here and moved to PackageTagsHandler or even somewhere else
xdoclet.modules.ejb.dd.EjbRefTagsHandler
| refactor ejbRefId properly to account for ejb:bean - it may not be needed anymore.
| refactor storeReferringClassId properly to take ejb:bean into account - may not be needed anymore.
| public java.lang.String ejbRefId()
| refactor this properly to account for ejb:bean - it may not be needed anymore.
| protected void storeReferringClassId()
| refactor this properly to take ejb:bean into account - may not be needed anymore.
xdoclet.modules.ejb.dd.SecurityTagsHandler
| private boolean hasPermission(xjavadoc.XDoc doc)
| Shouldn't this method rather be in SecurityTagsHandler?
xdoclet.modules.ejb.entity.CmpTagsHandler
| public java.lang.String dbmsColumn()
| add more tags/params here
| public static boolean isEntityCmp(xjavadoc.XClass clazz)
| refactor this method up in superclass with isEntityBmp
xdoclet.modules.ejb.entity.EntityCmpSubTask
| protected boolean matchesGenerationRules(xjavadoc.XClass clazz)
| refactor/merge this method with matchesGenerationRules from EntityBmpSubTask
xdoclet.modules.ejb.entity.PersistentTagsHandler
| public static java.lang.String fieldList(xjavadoc.XClass clazz,java.lang.String inclTag,java.lang.String exclTag,int type,java.lang.String valueObject,boolean superclasses)
| This method only takes the field of the current class. I think it's ok. Any objection ?
xdoclet.modules.ejb.entity.EntityFacadeSubTask
| protected boolean matchesGenerationRules(xjavadoc.XClass clazz)
| refactor/merge this method with matchesGenerationRules from EntityBmpSubTask
xdoclet.modules.ejb.entity.ValueObjectTagsHandler
| private void forAllRelations(java.lang.String template,boolean superclasses,java.lang.String valueObject,java.lang.String type)
| (Aslak) use a HashSet instead of HashMap for foundFields
xdoclet.modules.ejb.home.HomeTagsHandler
| public void forAllHomeMethods(java.lang.String template,java.util.Properties attributes)
| skip EJBException as we do in home.j for home-methods
| public void forAllHomeMethods(java.lang.String template,java.util.Properties attributes)
| i18n
| public void ifDoesntHavePostCreateMethod(java.lang.String template,java.util.Properties attributes)
| i18n
| public void ifIsCreateMethod(java.lang.String template,java.util.Properties attributes)
| I commented something strange but surely needed
xdoclet.modules.ejb.intf.LocalInterfaceSubTask
| protected boolean matchesGenerationRules(xjavadoc.XClass clazz)
| (Aslak) This needs refactoring. Nearly all matchesGenerationRules implementations are the same!
xdoclet.modules.ejb.session.RemoteFacadeSubTask
| protected boolean matchesGenerationRules(xjavadoc.XClass clazz)
| refactor/merge this method with matchesGenerationRules from EntityBmpSubTask
xdoclet.modules.jdo.JdoXmlMetadataSubTask
| protected boolean isGenerationPerClass()
| make isGenerationPerClass() in TemplateSubTask protected
xdoclet.modules.jmx.JMXTagsHandler
| attributes - XXX: Does this need to be synchronized?
| ifIsGetterMethod, ifIsSetterMethod - TODO: There is a big overlap here with stuff in ejb - have a look.
| public java.lang.String indexedMethodParamValue(java.util.Properties attributes)
| refactor common code with indexedConstructorParamValue into a private method
| protected boolean isGetterMethod()
| (Aslak) this is very general stuff. It should be implemented higher up in the hierarchy if it isn't already done somewhere
| protected boolean isSetterMethod()
| (Aslak) this is very general stuff. It should be implemented higher up in the hierarchy if it isn't already done somewhere
xdoclet.modules.solarmetric.jdo.KodoSubTask
| protected java.util.Collection getClassExtensions()
| lock-column is likely to be standardizable
| protected java.util.Collection getFieldExtensions()
| column-length is likely to be standardizable
| protected java.util.Collection getMapExtensions()
| Kodo actually supports the maps, need to implement it here
xdoclet.modules.triactive.jdo.TJDOSubTask
| protected java.util.Collection getFieldExtensions()
| column-length is likely to be standardizable
xdoclet.tagshandler.AbstractProgramElementTagsHandler
| protected void forAllMembers(java.lang.String template,java.util.Properties attributes,int forType)
| the already Set contains XMember objects. equals/hashCode should be defined in XMember and be implemented in all of the implementing classes.
| protected static boolean hasExecutableMember_OLD(xjavadoc.XClass clazz,java.lang.String executableMemberName,java.lang.String[] parameters,boolean setCurrentExecutableMember,int forType)
| Remove. For archeologists only
| protected java.lang.String memberComment(java.util.Properties attributes,int forType)
| There is similar functionality in xjavadoc.XDoc. Use that instead (needs a little rework to be more flexible).
xdoclet.tagshandler.ClassTagsHandler
| public static java.lang.String getClassNameFor(xjavadoc.XClass clazz)
| duplicate in AbstractProgramElementTagsHandler
| public void ifClassTagValueMatches(java.lang.String template,java.util.Properties attributes)
| (Aslak) It appears that this method does the same job as ifClassTagValueEquals. It also appears that no templates are using it. Candidate for removal?
xdoclet.tagshandler.TypeTagsHandler
| public static boolean isOfType(xjavadoc.XClass clazz,java.lang.String type,int extent)
| move this to xjavadoc
xdoclet.tagshandler.ConfigTagsHandler
| public java.lang.Object getConfigParameter(java.lang.String paramName)
| When searching for param part of a subtask.element.param config param we rely on bare reflection mechanism, so if we had getMyParam and we specified myparam for example (case mismatch) it fails (in Class.getMethod). We should provide a case-insensitive solution.
xdoclet.util.FileManager
| Deal with Translator.getString()'s exception better (throw it so the build stops?) in getFileContent(String)
xdoclet.util.XmlValidator
| Deal with Translator.getString()'s exception better in resolveEntity(String, String)