Bryan LaPlante wrote:
I understand that I can do that with a field tag, are you saying I can do
the same thing with a class tag?

No, but I was assuming that the ServerEvent was referenced as field from some other class.


You might want to create a GeneralizedFieldHandler for your ServerEvent class, see my response to your other e-mail.

--Keith


----- Original Message ----- From: "Keith Visco" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Thursday, February 10, 2005 10:09 PM Subject: Re: [castor-user] mapping question



You can specify attributes as constructor arguments, but you can't pass
in an arbitrary value.



http://castor.codehaus.org/xml-mapping.html#7.3-Mapping-constructor-argument s

--Keith

Bryan LaPlante wrote:

Never mind, I just put a call to super(EventObject.class) into an no
argument constructor so that it could be marshaled and still satisfy the
EventObject contract. It would be nice if I could handle this in the

mapping

file or a custom FieldHandler so that I don't have to find another way

to

enforce my contracts for the application.

Bryan

----- Original Message -----
From: "Bryan LaPlante" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, February 09, 2005 7:24 AM
Subject: [castor-user] mapping question




I have a class that extends EventObject, the mandatory constructor must

take


an Object. Is there any way to provide a constructor argument in the

class

tag of the mapping file. Here is the mapping and the class. I get the
following error when trying to marshal this class.

Nested error: org.exolab.castor.mapping.MappingException: The Java class
org.xoscript.server.event.ServerEvent is not constructable -- it does

not

contain a default public constructor


public class ServerEvent extends EventObject{

  public String target = null;

  public ServerEvent (Object source, String targ){
      super(source);
      this.setTarget(targ);
  }

  getter and setters......
}

I want to ignore source in the output xml, that is way it is missing.
<class name="org.xoscript.server.event.ServerEvent">

  <field name="target" type="java.lang.String" direct="false">

      <bind-xml name="target" node="attribute"/>

  </field>

</class>

Bryan LaPlante



-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
      unsubscribe castor-user




-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
       unsubscribe castor-user





----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-user




----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-user






----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-user

Reply via email to