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]>