eclipse-ee4j / eclipse-ee4j/jersey

Why is RequestScoped in a package named "internal"

Open
#3,999 2 comments 0 reactions 0 assignees View on GitHub
2.30
Dominant language
Java
Stars
730
Forks
382
PR merge metrics
No merged PRs in 30d

Description

I've been wondering why the `RequestScoped` class is found in `org.glassfish.jersey.process.internal` - the _internal_ package is surprising.

The class is documented there, which makes it look like jersey users are welcome to use it https://jersey.github.io/documentation/latest/user-guide.html#d0e2688

And I do: my jersey applications use a binder which relies on this kind of code

```
bindFactory(SomethingFactory.class).to(Something.class).in(RequestScoped.class);
```

I'm converting my codebase to java 9 modules and get a bit nervous that I might end up not being able to "reach" the `RequestScoped` class in the future.

Is this class _really_ meant to be internal, as in "don't use it" internal? or are you planning to repackage it elsewhere later? if I should never have used it then can you tell me how I should refactor the kind of code exemplified over, there might be something I'm totally missing here?

Contributor guide

Open the contributing guide

Research direction

Start with the RequestScoped class in org.glassfish.jersey.process.internal and the linked Jersey user-guide section. Check how the documented bindFactory(...).in(RequestScoped.class) usage relates to the package's intended visibility and Java 9 module concerns. Done means the supported status and any recommended refactoring or future package direction are clearly documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.