Sure there's type safety there... The compiler will ensure the get and
set are both of the same type, otherwise you get a compile time error.
How much more type safety could you get than that?


On Wed, Nov 5, 2008 at 4:57 AM, Jess Holle <[EMAIL PROTECTED]> wrote:
> The examples given for C# showed shorthand for expressing properties but
> showed nothing in the way of actually improving type safety.
>
> Moreover, being able to use foo->bar rather foo.getBar()/foo.setBar() is
> also just sugar -- the latter are perfectly type safe.
>
> Brett Ryan wrote:
>
> Okay, so wheres the answer for compile time safety?
>
> My attached ad-hoc code was not meant to be used, it was to
> demonstrate what Introspector or any other inspector needs to do to
> discover properties. What you get back are `assumed' properties (if
> BeanInfo classes haven't been defined).
>
> -Brett
>
> On Wed, Nov 5, 2008 at 4:44 AM, Jess Holle <[EMAIL PROTECTED]> wrote:
>
>
> Brett Ryan wrote:
>
> @Weiqi
>
> Do you like using Introspector? ;) Okay it might be a tongue in cheek
> question, but I'd still much prefer being able to do
> foo.getDeclaredProperties() and have a PropertyDescriptor array
> returned without the penalty of the Introspector having to go and
> discover them.
>
>
> Performance of discovery is perhaps grounds for improvement.  I can't say --
> if it is, then that can be fixed without changing the API.
>
> The difference between
>
> Introspector.getBeanInfo( Foo.class ).getPropertyDescriptors();
>
> and
>
> Foo.class.getBeanInfo().getPropertyDescriptors();
>
> and
>
> foo.getBeanInfo().getPropertyDescriptors();
>
> is immaterial in my book.
>
> Actually I'm rather glad it is not the last of these.  java.lang.Object
> clutter up the method namespace enough without something like this that
> could be better provided via a method on java.lang.Class or via a separate
> factory class ala Introspector.
>
> I won't say Introspector is perfect, but it works, does better than ad hoc
> scraps of code like that you attached, and has been built into the core Java
> libraries for many years.
>
> --
> Jess Holle
>
> On Wed, Nov 5, 2008 at 4:26 AM, Weiqi Gao <[EMAIL PROTECTED]> wrote:
>
>
> Brett Ryan wrote:
>
>
> But it's not baked into swing and other areas where a component model
> is needed, there maybe API's out there, but they aren't something I
> can discover. If I'm given a component from some component author who
> has quite simply developed some swing control, how do I place that
> control on a designer and be able to expose the properties of that
> component? Exposing events aren't as bad although not as easy as if we
> had true events.
>
> In the end we do something like the attached example I posted a few
> posts ago that iterates over the classes declared methods. Even still,
> I've just realised my example doesn't take the Boolean `is' into
> account.
>
> http://bean-properties.dev.java.net may be one solution, but whatever
> the solution is the actual components need to be unified to support
> property discovery.
>
> If you do have a way to unify getters/setters into a property without
> having to try and discover them I'd be interested to see.
>
>
> The call
>
>   Introspector.getBeanInfo(Foo.class).getPropertyDescriptors()
>
> will give you all the properties on the class Foo, their name, type,
> getter, setter, bound-ness, constrained-ness, PropertyEditor, etc.
>
> And according to it, your earlier example
>
>   class Bar {
>     public String getFoo() { return ""; }
>     public void setFoo(int val) {}
>   }
>
> has a read only property named "foo" of type String.
>
> The JavaBeans spec was written when AWT was still being hyped heavily,
> and Java people were dreaming of a drag-and-drop type of GUI painting
> paradigm.  Anyone remember Bongo?  I'm sure it would qualify as a Java
> app of the week had the JavaPosse been on the air then.
>
> Java did not dominate in GUI development.  Looking back, that's when a
> nice developer box have 16MB, maybe 32MB RAM, and production servers
> have 64MB RAM.  My VB5 developer colleagues were laughing their heads
> off when I downloaded Swing 0.3 (or 0.4) and the SwingSet demo started
> up in 20 minutes!
>
> --
> Weiqi Gao
> [EMAIL PROTECTED]
> http://www.weiqigao.com/blog/
>
>
>
>
>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to