Yes, there can be limitations.

http://help.netscape.com/kb/consumer/19971015-8.html

I'm not saying you SHOULD encode arbitrary objects, just 
that you CAN.

In addition, the DataSqueezer has hooks that will allow 
you to create customized string representations of your 
own classes.  The adaptor that provides for Serializable 
is very complex:  it serializes the object to a 
bytestream, compresses the bytestream, then encodes the 
result in a modified MIME format.  So you don't want to 
rely on that!

And, yes, if you think you can pass a HashMap with a 
dozen keys in it, you'll probably have a non-functional 
URL.

On the other hand, simple types (Boolean, String, 
Character, Integer, etc.) encode nicely, usually adding 
a single prefix character to their normal string 
representation (and sometimes not even that).


--
[EMAIL PROTECTED]

http://tapestry.sf.net
> Isn't there a limit on URL length?
> 
> 
> >From: [EMAIL PROTECTED]
> >To: [EMAIL PROTECTED] (Tapestry Developer)
> >Subject: [Tapestry-developer] About [ 581691 ] Object not String for 
> >service parameters
> >Date: Mon, 15 Jul 2002 20:41:45 +0000
> >
> >I'm now very excited about this change.
> >
> >When I realized that I had all the technology in place
> >to support this, I don't think I fully appreciated how
> >good it was going to be.  I mean, how difficult is it to
> >converts objects to strings and back?
> >
> >This change is primarily about the Direct component,
> >though it affects any other component or service that
> >makes use of service parameters.
> >
> >In the past, those service parameters were an array of
> >*String*.  Starting in 2.2, the parameters are an array
> >of *Object*.
> >
> >Tapestry converts the Objects into strings, which are
> >included in the URL.  However, the strings can then be
> >converted *back* to their object values.  This not only
> >works for Integer, Double, Long, Byte, etc., but for any
> >Serializable object (though the string encoded into the
> >URL can be quite long!).
> >
> >This makes listener methods much simpler, instead of
> >having to figure out how to convert the String into an
> >Object with something like
> >
> >   Integer primaryKey = new Integer(parameters[0]);
> >
> >The listener methods can instead assume the objects are
> >the right type:
> >
> >   Integer primaryKey = (Integer)parameters[0];
> >
> >This really works on the "objects, methods and
> >properties" mantra.
> >
> >The downside of this is a few interfaces (IRequestCycle,
> >IEngineService, Gesture, AbstractService) changed in non-
> >backwards compatible ways, so there will be a slight
> >cost in upgrading from 2.1 to 2.2.
> >
> >
> >
> >--
> >[EMAIL PROTECTED]
> >
> >http://tapestry.sf.net
> >
> >
> >-------------------------------------------------------
> >This sf.net email is sponsored by:ThinkGeek
> >Welcome to geek heaven.
> >http://thinkgeek.com/sf
> >_______________________________________________
> >Tapestry-developer mailing list
> >[EMAIL PROTECTED]
> >https://lists.sourceforge.net/lists/listinfo/tapestry-developer
> 
> 
> Joseph Panico
> [EMAIL PROTECTED]
> 
> _________________________________________________________________
> Chat with friends online, try MSN Messenger: http://messenger.msn.com
> 
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Tapestry-developer mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/tapestry-developer


-------------------------------------------------------
This sf.net email is sponsored by: Jabber - The world's fastest growing 
real-time communications platform! Don't just IM. Build it in! 
http://www.jabber.com/osdn/xim
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer

Reply via email to