Changes between Initial Version and Version 1 of PRO_LIB_INSPECTOR_R1


Ignore:
Timestamp:
01/19/09 19:12:22 (16 years ago)
Author:
gogov
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PRO_LIB_INSPECTOR_R1

    v1 v1  
     1[[BackLinksMenu]] 
     2 
     3[[TicketQuery(summary=TASK_NAME_HERE, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|)]] 
     4 
     5 
     6 
     7= Analysis = 
     8== Overview == 
     9Some new features of the PRO_LIB_INSPECTOR should be added in order to make it more useful. 
     10 
     11== Task requirements == 
     12The following new features of the Inspector should be implemented: 
     13 
     14 * '''String representation view''' - there should be a trigger to view certain objects in their toString() representation instead of a tree-like structure. This would help debugging by viewing complex classes and list-like objects in a simple and human readable String form. 
     15 * '''Static methods filter view''' - there should be a trigger which filters out all static methods from the tree-like representation of the inspected objects. This would help debugging of objects which are instances of classes with a huge amount of static fields (like some Swing components, for example). 
     16 * '''Multiple Inspector instances''' - not only one but a multitude of Inspector instances should be available to the user. 
     17  * the user should be able to easily create a new instance of the Inspector (by cloning the existing one, for example), 
     18  * each Inspector instance should have its own root element. This means that the user should have an option to select a certain object as a root of each Inspector instance instead of having a hardcoded one as a default. 
     19  * the user should be able to easily change the root of a given Inspector instance by: 
     20   * selecting the parent of the current root to be the new root, if such is available, 
     21   * selecting a given object in the tree-like representation of the current root and making it the new root, 
     22   * specifying a custom object as a root of the new Inspector instance. Doing so might be tricky so a clever way of handling this should be devised, if possible. 
     23 
     24== Task result == 
     25 * code modifications in the core.prolib.inspector module, 
     26 * ideas for other useful features in the comments section, if any 
     27 
     28== Implementation idea == 
     29* use reflection to filter out static methods 
     30 
     31== Related == 
     32[wiki:PRO_LIB_CORE_TUTORIAL_R0] [[BR]] 
     33[wiki:PRO_LIB_INSPECTOR_R0] 
     34 
     35== How to demo == 
     36 * Run Sophie 2.0, 
     37 * Turn on and off String representation view, 
     38 * Turn on and off Static methods filter view, 
     39 * Create a new Inspector instance and change its root 
     40 
     41= Design = 
     42 
     43= Implementation = 
     44^(Implementation results should be described and linked here (from the wiki or the repository))^ 
     45 
     46= Testing = 
     47 
     48= Comments = 
     49^(Write comments for this or later revisions here.)