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

EFragment should eliminate constructor requirements on abstract class #1081

Description

@dalewking

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).

Activity

  1. WonderCsabo commented on Aug 2, 2014

    @WonderCsabo
    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.

  2. dalewking commented on Aug 3, 2014

    @dalewking
    Author

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

  3. WonderCsabo commented on Aug 3, 2014

    @WonderCsabo
    Member

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

  4. dodgex commented on Aug 15, 2014

    @dodgex
    Member

    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).

  5. added a commit that references this issue on Aug 22, 2014
  6. WonderCsabo commented on Aug 22, 2014

    @WonderCsabo
    Member

    Implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions