Here's the trick: The attributes will be defined by someone else using the class, so the attributes will not be static. Any attributes could be set in the format class, and I need to copy them. I want this to be generic as possible, so I can loop through a set of TD's, set a condition to modify a format, then apply that format to only those records that need it. I can't just call setBgColor on all the TD's, unless I do some tricks with reflexion to pass the name of the method call. I want this to be simple and easy for a user.
So, my question still remains: How do I copy these attributes from one TD to another? I've tried to create a ConcreteElement and do it like this: TD data = new TD("Foo"); TD format = new TD(); format.setBgColor("#FFFFCC"); Enumeration formatEKeys = format.attributes(); ConcreteElement ce = new ConcreteElement(); while (formatEKeys.hasMoreElements()) { String o = (String) formatEKeys.nextElement(); System.out.println (o); String value = format.getAttribute(o); System.out.println (value); ce.addElementToRegistry (o, value); System.out.println (ce); data.addElement (ce); } System.out.println (data); I get the following result: bgcolor #FFFFCC <>#FFFFCC</> <td>Foo<>#FFFFCC</></td> Almost, but not quite. Can someone help me clean up this code so it produces: <td bgcolor="#FFFFCC">Foo</td> Thanks yet again. > -----Original Message----- > From: Klaus Sonnenleiter [mailto:[EMAIL PROTECTED]] > > > Jim, > > You could probably get to where you want to go by looping through the > attributes and copying them one by one. But it seems > unnecessary to me. You > could also create classes that inherit from TD and set some > defaults, like this > > class JimsOwnTD extends TD { > JimsOwnTD() { > this("default") > } > > JimsOwnTD(String s) { > super(s); > this.setBgColor("#FFFFCC"); > } > > //override other methods here > } > > Then, instead of creating two separate TDs, you'll create > only one JimsOwnTD: > > JimsOwnTD jotd = JimsOwnTD("Foo"); > > and it should inherit what you need. > > Klaus > > At 10:48 AM 4/11/2002 -0400, Nemesh, Jim wrote: > > > > > -----Original Message----- > > > From: Jeremy W. Redmond [mailto:[EMAIL PROTECTED]] > > > Sent: Thursday, April 11, 2002 8:00 AM > > > To: ECS Users List > > > Subject: Re: Help for a new user - Working with elements > > > > > > > > > > > > Posting the code snippet that you are trying might be helpful. > > > > Here's the basic idea: > > > > TD data = new TD("Foo"); > > TD format = new TD(); > > format.setBgColor("#FFFFCC"); > > Enumeration formatEKeys = format.attributes(); > > while (formatEKeys.hasMoreElements()) { > > String o = (String) formatEKeys.nextElement(); > > System.out.println (o); > > String value = format.getAttribute(o); > > System.out.println (value); > > // do something to create an element with > these values and > >add it to data. > > } > > > > This should take the format information (backround > color) from the > >format > >TD object, and put it in the first TD object. > > > > The question is, what goes after the comment line? > Should I be > >making a > >ConcreteElement, or GenericElement? If so, how would I go > about doing this? > > > > Why am I doing this? I'm building some generic > ways to create > >tables from other objects > >and provide ways to format the cells and rows of the tables > after the TD > >objects have already > >been created, or provide multiple levels of formatting (for > example one test > >would say that if > >the data included the word "Foo", the backround would be > red, and if the > >data contained the word > >"Bar" as well, it would do something else.) > > > > -Jim Nemesh > > > > > >-- > >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>