hi Keith,

now am i unable to use GeneralizedFieldHandler for generic issues
(e.g. manipulating all boolean values). As i understand from your
mail, it's supposed to add custom references to binding file for each
generated object and each field. isnt there any other generic solution
similar to FieldHandlerFactory?

It would also be appriciated to get an example if possible.

thanks a lot
mesut


On 10/13/05, Keith Visco <[EMAIL PROTECTED]> wrote:
>
> Hi Mesut,
>
> Doh! I didn't realize you were using the source code generator. You can
> add your custom FieldHandler references in a binding file.
> Unfortunately, as you discovered the hard way, the FieldHandlerFactory
> isn't normally used when using generated source code since the
> Introspector typically isn't involved.
>
> The binding file syntax isn't the easiest to use either. If you need an
> example I'll have to scrounge one up as I only rarely use binding files.
>
> Sorry for the inconvenience.
>
> --Keith
>
> Mesut Celik wrote:
> > Hi Keith,
> > As you said I set it after mapping file. However, this did not work
> > for my project. Then i created a small project and tried a simple
> > serialization with a POJO and i could see that both mapping and
> > fieldhandler feature is successfully applied by castor.
> >
> > In this case , the only difference between successful and failed
> > project is that in my project i generate objects using source
> > generator. After I had a look at castor source code  while debugging,
> > I concluded with that castor always uses XMLFieldHandler for element
> > manipulation which is defined inside Descriptor classes. So this means
> > that my GeneraliazedFieldHandler never used by castor.
> >
> > My current marshaller setting:
> >
> >       Mapping mapping = new Mapping();
> >        InputSource source=new
> > InputSource(Thread.currentThread().getContextClassLoader().getResourceAsStream("conf/mapping.xml"));
> >        mapping.loadMapping(source);
> >        FieldHandlerFactory factory=new BooleanFHFactory();
> >         ClassDescriptorResolverImpl cdr = new ClassDescriptorResolverImpl();
> >         cdr.getIntrospector().addFieldHandlerFactory(factory);
> >         marshaller.setResolver(cdr);
> >         marshaller.setMapping(mapping);
> >
> >
> > does it make sense a bit? do i need to define something in the binding file?
> >
> > sorry for time consuming.
> > mesut
> >
> >
> > On 10/12/05, Keith Visco <[EMAIL PROTECTED]> wrote:
> >
> >>Hi Mesut,
> >>
> >>Try setting the mapping file *after* you set the
> >>ClassDescriptorResolver. You will note the following in the Javadoc for
> >>Marshaller#setResolver:
> >>
> >>     <B>Note:</B> This method will nullify any Mapping
> >>     currently being used by this Marshaller
> >>
> >>http://castor.codehaus.org/javadoc/org/exolab/castor/xml/Marshaller.html#setResolver(org.exolab.castor.xml.ClassDescriptorResolver)
> >>
> >>
> >>--Keith
> >>
> >>
> >>Mesut Celik wrote:
> >>
> >>>Hi Keith,
> >>>I applied your workaround and it did work with a strange behaviour.
> >>>
> >>>        FieldHandlerFactory factory=new BooleanFHFactory();
> >>>        ClassDescriptorResolverImpl cdr = new 
> >>> ClassDescriptorResolverImpl();
> >>>        cdr.getIntrospector().addFieldHandlerFactory(factory);
> >>>       marshaller.setResolver(cdr);
> >>>
> >>>what is weird is when assigning this resolver implementation to
> >>>marshaller the mapping file which i use and assigned to marshaller at
> >>>the same time automatically became unused but i could serialize all
> >>>boolean fields as 0/1 pair.
> >>>Since i need both mapping definitions and this fieldhandler mechanism,
> >>>current behaviour cannot help to solve my problem.
> >>>
> >>>
> >>>what can be the cause of problem? I feel im approaching to finish 
> >>>point...:)
> >>>
> >>>
> >>>thanks in advance
> >>>mesut
> >>>
> >>>
> >>>On 10/10/05, Mesut Celik <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>>>On 10/8/05, Keith Visco <[EMAIL PROTECTED]> wrote:
> >>>>
> >>>>
> >>>>>Mesut Celik wrote:
> >>>>>
> >>>>>
> >>>>>>hi keith,
> >>>>>>
> >>>>>>what about the mapping.xml file? Actually I had written an
> >>>>>>GeneralizedFieldHandler without handlerFactory and then assigned the
> >>>>>>handler to some fields in the mapping file before your mail and it did
> >>>>>>not work.
> >>>>>
> >>>>>
> >>>>>How did you specify your handler and what does your handler
> >>>>>implementation look like? Did you take a look at the online
> >>>>>documentation for writing custom handlers?
> >>>>
> >>>>yes i did. I followed online documentation but not heard about
> >>>>FieldhandlerFactory on the web site. could you give me an example how
> >>>>to create this factory class for boolean types.
> >>>>
> >>>>
> >>>>
> >>>>>>my question is you did not mention about mapping file in
> >>>>>>your mail. dont I have to use mapping file? and what should i do if i
> >>>>>>need only some fields to be handled and not the others?
> >>>>>
> >>>>>Yes you can use a mapping file, which is the normal way to specify
> >>>>>custom handlers, but if you wanted to handle all Boolean values in your
> >>>>>application the same way then it's easier to write a
> >>>>>FieldHandlerFactory. If you only want some values to be handled a
> >>>>>certain way, then a mapping file is the better approach.
> >>>>>
> >>>>
> >>>>again, i wanna handle all boolean values but unable to implement
> >>>>FieldHandlerFactory. can you give me more detailed information about
> >>>>the methads that need to be implemented in the abstract
> >>>>FieldHandlerFactory.
> >>>>
> >>>>isSupportedType
> >>>>getSupportedTypes
> >>>>createFieldHandler
> >>>>
> >>>>spesific explanation for boolean type would be appriciated.
> >>>>mesut
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>--Keith
> >>>>>
> >>>>>
> >>>>>
> >>>>>>thanks in advance,
> >>>>>>mesut
> >>>>>>
> >>>>>>On 10/8/05, Keith Visco <[EMAIL PROTECTED]> wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>>Mesut,
> >>>>>>>
> >>>>>>>You can write a GeneralizedFieldHandler and a FieldHandlerFactory. The
> >>>>>>>FieldHandlerFactory will prevent you from having to specify your
> >>>>>>>GeneralizedFieldHandler on every field that is a boolean. You can set
> >>>>>>>the FieldHandlerFactory directly on the Introspector as such:
> >>>>>>>
> >>>>>>> Marshaller m = new Marshaller(writer);
> >>>>>>> ClassDescriptorResolverImpl cdr = new ClassDescriptorResolverImpl();
> >>>>>>> cdr.getIntrospector().addFieldHandlerFactory(factory);
> >>>>>>> m.setResolver(cdr);
> >>>>>>>
> >>>>>>>Hope that helps,
> >>>>>>>
> >>>>>>>--Keith
> >>>>>>>
> >>>>>>>Mesut Celik wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>>Hi all,
> >>>>>>>>
> >>>>>>>>I wanna serialize boolean values of my objects as 0/1. I think one
> >>>>>>>>possible way of doing so is writing Generalized Field handler.
> >>>>>>>>Is there any other approach? or what is the best solution for such an 
> >>>>>>>>issue?
> >>>>>>>>
> >>>>>>>>regards,
> >>>>>>>>mesut
> >>>>>>>>
> >>>>>>>>-------------------------------------------------
> >>>>>>>>If you wish to unsubscribe from this list, please
> >>>>>>>>send an empty message to the following address:
> >>>>>>>>
> >>>>>>>>[EMAIL PROTECTED]
> >>>>>>>>-------------------------------------------------
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>-------------------------------------------------
> >>>>>>>If you wish to unsubscribe from this list, please
> >>>>>>>send an empty message to the following address:
> >>>>>>>
> >>>>>>>[EMAIL PROTECTED]
> >>>>>>>-------------------------------------------------
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>-------------------------------------------------
> >>>>>>If you wish to unsubscribe from this list, please
> >>>>>>send an empty message to the following address:
> >>>>>>
> >>>>>>[EMAIL PROTECTED]
> >>>>>>-------------------------------------------------
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>-------------------------------------------------
> >>>>>If you wish to unsubscribe from this list, please
> >>>>>send an empty message to the following address:
> >>>>>
> >>>>>[EMAIL PROTECTED]
> >>>>>-------------------------------------------------
> >>>>>
> >>>>>
> >>>>
> >>>-------------------------------------------------
> >>>If you wish to unsubscribe from this list, please
> >>>send an empty message to the following address:
> >>>
> >>>[EMAIL PROTECTED]
> >>>-------------------------------------------------
> >>>
> >>>
> >>
> >>
> >>-------------------------------------------------
> >>If you wish to unsubscribe from this list, please
> >>send an empty message to the following address:
> >>
> >>[EMAIL PROTECTED]
> >>-------------------------------------------------
> >>
> >>
> >
> >
> > -------------------------------------------------
> > If you wish to unsubscribe from this list, please
> > send an empty message to the following address:
> >
> > [EMAIL PROTECTED]
> > -------------------------------------------------
> >
> >
>
>
> -------------------------------------------------
> If you wish to unsubscribe from this list, please
> send an empty message to the following address:
>
> [EMAIL PROTECTED]
> -------------------------------------------------
>
>

-------------------------------------------------
If you wish to unsubscribe from this list, please
send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

Reply via email to