On 24/11/2020 5:38 pm, Alex Orlov wrote:
 >The provider() method returns an instance of a class that provides a
 >given service. provider() could be called serviceProvider() or
 >serviceImplementor() - but providor() suffices.
Following this logic we can change hashCode() in Object to provider(). Because it will return a value, that provides a hashCode.

No the value returned _is_ a hashcode.

You are confusing returning an object that is capable of providing a service, with asking that object to provide the service.

David

I still think that provider()
name is not quite good. I would name it either "service" or "provide".
--
Best regards, Alex Orlov

    Вторник, 24 ноября 2020, 10:26 +03:00 от David Holmes
    <david.hol...@oracle.com>:
    On 24/11/2020 4:46 pm, Alex Orlov wrote:
     > Could you then explain the difference between service and service
     > provider? As I understand
     > you’re saying they are the same. I always thought, that they were two
     > different things. For example,

    They are two different things and I'm certainly not saying they are the
    same.

     > what we are talking about service factory/supplier/consumer we
    separate
     > service from
     > factory/supplier/consumer. And even in
     >
    
https://docs.oracle.com/javase/9/docs/api/java/util/ServiceLoader.Provider.html
    
<https://docs.oracle.com/javase/9/docs/api/java/util/ServiceLoader.Provider.html>
     >
    
<https://docs.oracle.com/javase/9/docs/api/java/util/ServiceLoader.Provider.html
    
<https://docs.oracle.com/javase/9/docs/api/java/util/ServiceLoader.Provider.html>>
     > we assume that this is a provider, and using this provider you
    can get a
     > service.

    I'm not seeing the connection with what we have been discussing
    directly.

    The provider() method returns an instance of a class that provides a
    given service. provider() could be called serviceProvider() or
    serviceImplementor() - but providor() suffices.

    Cheers,
    David
    -----

     > --
     > Best regards, Alex Orlov
     >
     > Вторник, 24 ноября 2020, 7:47 +03:00 от David Holmes
     > <david.hol...@oracle.com </compose?To=david.hol...@oracle.com>>:
     > On 23/11/2020 6:28 pm, Alex Orlov wrote:
     > > > The method does return a "provider". It returns the object that
     > is an
     > > > instance of a class that provides the service - hence that
     > object is a
     > > > provider.
     > > I don’t agree with that. It returns the object that is an
    instance of
     > > the service.
     >
     > And that object is the service provider.
     >
     > David
     > -----
     >
     > > --
     > > Best regards, Alex Orlov
     > >
     > > Понедельник, 23 ноября 2020, 1:30 +03:00 от David Holmes
     > > <david.hol...@oracle.com </compose?To=david.hol...@oracle.com>
    </compose?To=david.hol...@oracle.com>>:
     > > On 20/11/2020 9:48 pm, Alex Orlov wrote:
     > > >
     > > > Hello all,
     > > >
     > > > According to this tutorial
     > >
     >
    
https://www.logicbig.com/tutorials/core-java-tutorial/modules/service-provider-method.html
    
<https://www.logicbig.com/tutorials/core-java-tutorial/modules/service-provider-method.html>
     >
    
<https://www.logicbig.com/tutorials/core-java-tutorial/modules/service-provider-method.html
    
<https://www.logicbig.com/tutorials/core-java-tutorial/modules/service-provider-method.html>>
     > >
     >
    
<https://www.logicbig.com/tutorials/core-java-tutorial/modules/service-provider-method.html
    
<https://www.logicbig.com/tutorials/core-java-tutorial/modules/service-provider-method.html>
     >
    
<https://www.logicbig.com/tutorials/core-java-tutorial/modules/service-provider-method.html
    
<https://www.logicbig.com/tutorials/core-java-tutorial/modules/service-provider-method.html>>>
     > > > we can declare in module-info provider class with "provider"
     > > method. For example,
     > > >
     > > >  ......
     > > > public class TheServiceProvider {
     > > >    public static AService provider() {
     > > >        return new AServiceImpl();
     > > >    }
     > > > }
     > > >
     > > > The only thing what I don’t understand is why this method is
     > > called "provider". The method doesn’t return
     > > > provider, method returns an instance of the service, so, as I
     > > understand, the method must be named
     > > > "provide". And, as I understand, provider is usually the class,
     > > that has "provide" method.
     > >
     > > The method does return a "provider". It returns the object that
    is an
     > > instance of a class that provides the service - hence that object
     > is a
     > > provider.
     > >
     > > Cheers,
     > > David
     > > -----
     > >
     > > > Of course that’s not very important, but it is JDK, so it was
     > > developed by very experienced java developer
     > > > who should know java naming convention and I want to understand
     > > why this did so. Could anyone explain?
     > > >
     > > >
     > > > --
     > > > Best regards, Alex Orlov
     > > >
     > >
     >

Reply via email to