All: 
I have a design question. 
Let me first describe the problem: 
I like to store, update, delete, and retrieve a graph where the nodes 
are colored differently - for e.g. red, blue, yellow, green, black, etc. 
etc. 
[A new color could be added in future] 
The graph will be constructed at runtime. 
My object node: 
     Node: { p1,p2,p3, Edges[]} 
     Blue_Node extends Node : { p4,p5,p6} 
     Red_Node extends Node: {p7,p8,p9} 
      :::::: 
     And so on... 

        Where pi = property i 
              and pi != pj for any i and j 

        During the runtime, based on input data stream, I will construct and 
        store: 
        Edge[Node(a) -> Node(b),wi] where wi is a weight value 
                                    on the Edge[Node(a)->Node(b)] 
               Node(a) could be blue, red, yellow, green ...color 
               Node(b) could be blue, red, yellow, green ...color 
        And also there can co-exist an Edge[Node(a)->Node(b), wj] where wi != wj 
          
        I am trying to model this data structure in term of 1:n mapping table. 
        Is this possible model with the following way: 
        <collection-descriptor 
                 name="allNodesInGroup" 
                 element-class-ref="com.acme.graph.Node" 
                 orderby="colorId" 
                 sort="DESC" 
              > 
                 <inverse-foreignkey field-ref="nodeId"/> 
              </collection-descriptor> 
        and can I also use the fault or proxy object ? 

        Or 

        I have to deal this manually using : 
            public void link(Object obj, boolean insert) 
            public void unlink(Object obj) 
            public boolean link(Object obj, String attributeName, boolean 
        insert) 
            public boolean unlink(Object obj, String attributeName) 

        Thanks in advance for your help 
        Regards 
          Ajitesh 

Reply via email to