One can always get better at following but tools must improve to be
better for building  ;)

**
Martin

2011/1/11 Rodolfo Hansen <kry...@gmail.com>:
> I guess Project Lombok could be extended for this.
>
> You would be inviting the same problems encountered by C++ with its
> multiple inheritance,
> and all that magic will probably make things harder to follow.
>
> But; like all shotguns, it's everyone's responsibility where they aim,
> lest they shoot themselves in the foot.
>
> :D
>
>
> On Sun, 2011-01-09 at 10:00 +0200, Martin Makundi wrote:
>
>> >>> Either way, you have to put logic somewhere that tries to figure out
>> >>> what the heck you want to borrow and then figure out where the heck to
>> >>> get it.
>> >>
>> >> If it is done at compile time you don't need "messaging" logic. It
>> >> would be uniquely defined what you can get.
>> >
>> > Please explain.
>>
>> Think about object hierarchy. It is uniquely defined what method
>> overrides what etc.
>>
>> So it would just expand the same idea to "membership dimensions" in
>> addition to "inheritance dimensions".
>>
>> I mean that assuming man has a bag would work effectively similar to
>> man extends bag at compile time.
>>
>> If bag has a getter then man can expose that getter. However, if we
>> would really extend bag then we are stuck with it (and we could'nt
>> have man wear both jacket, trousers and bag at same time).
>>
>> When man only "has" bag then we can also change the bag and extend the
>> bag with another bag or set it to null even.
>>
>> Nevertheless, we could annotate:
>>
>> @DefaultExpose(ExposeLevels.ALL)
>> public class Man {
>>  private Bag bag;
>> }
>>
>> public class Customs {
>>    public boolean investigate(Man man) {
>>       Pencil = man.getPencil();
>>    }
>> }
>>
>> :::: Alternatively you can move the annotation
>>
>> public class Man {
>> �...@defaultexpose(ExposeLevels.ALL)
>>  private Bag bag;
>> }
>>
>> ::: or even more detailed:
>>
>> public class Bag {
>> �...@defaultexpose(ExposeLevels.ALL)
>>  private PencilCase pencilCase;
>> }
>>
>>
>> Override rules could be same as "as if" the Man extended Bag and as if
>> Bag extened PencilCase.
>>
>> **
>> Martin
>
>
>

Reply via email to