Skip to content
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.

EFragment should eliminate constructor requirements on abstract class #1081

Closed
dalewking opened this issue Aug 2, 2014 · 5 comments
Closed

Comments

@dalewking
Copy link

The logic for EFragment gives an error if the EFragment annotated class has more than one constructor or if the constructor accepts any parameters. That rule makes sense for normal uses of EFragment since the FragmentBuilder needs to invoke the constructor on that class.

That rule however should not apply when the class it is annotating is abstract. In that case the constructor on the abstract class will never be called by AndroidAnnotations and will instead be called by constructors on the concrete subclass which should only have a default constructor (which can then call any constructor on the abstract class).

@WonderCsabo
Copy link
Member

You are absolutely right. We also had this problem with EBeans, but now we
allow abstract ones with other constructors. I think we should do the same
with all enhanced components.

@dalewking
Copy link
Author

Abstract Efragments are allowed, but the issue is that it still only allows a default constructor

@WonderCsabo
Copy link
Member

Yeah, that's why i wrote "other constructors".

@dodgex
Copy link
Member

dodgex commented Aug 15, 2014

I added a PR that allows "other constructors" for abstract EFragments. It seems that for all other classes this is already allowed (or at least there is no constructor check).

WonderCsabo added a commit that referenced this issue Aug 22, 2014
Implement #1081 (allow any constructors for EFragment)
@WonderCsabo
Copy link
Member

Implemented.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants