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.

Inject EBean as Rest interceptors #661

Description

@yDelouis

The parameter interceptors of the annotation @Rest is useful to modify requests with runtime parameters. And some of these parameters can be stored in SharedPreferences or other location which needs the Context. So, the interceptor usually need to have access to the Context.

One way to automatically pass the Context to the interceptor would be to annotate it with @EBean. Then, AA should detect if the class in the parameter interceptors of the annotation @Rest has the annotation @EBean and if so, AA should instantiate the generated subclass and put it in the list of interceptors.

What do you think ?

Activity

  1. DayS commented on Jul 15, 2013

    @DayS
    Contributor

    Funny. I had the exact same idea yesterday :D
    I was thinking of this solution to error handler too. The main advantage of this solution is to not use a setter but just let AA instantiate the error handler using a given class. And this solution could be used for other parts of the code.

  2. yDelouis commented on Jul 15, 2013

    @yDelouis
    ContributorAuthor

    The setter is mandatory too because someone might want to let a non EBean object implement the interface ErrorHandler.
    In which other parts of the code this solution could be used ?
    I'm implementing this on a branch based on the PR #619. So I will submit a new PR when the #619 is merged.

  3. DayS commented on Jul 15, 2013

    @DayS
    Contributor

    Yep. I was thinking of only uses EBean annotated classes for interceptor, converter, error handling and so on. But it might be too restrictive.
    We also have an error handling to implement for @Background and @UIThread

  4. DayS commented on Apr 6, 2014

    @DayS
    Contributor

    I'm closing this issue and keep #712 as reference as it covers both converters and interceptors

  5. removed this from the 3.1 milestone on Apr 6, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions