Skip to content

Commit 8385ad8

Browse files
committed
[JPMS] Renaming of bootstrap contract
1 parent f65130d commit 8385ad8

File tree

8 files changed

+29
-23
lines changed

8 files changed

+29
-23
lines changed

java9/spec-modularity-patterns/acme-fieldreader-impl/src/main/java/acme/fieldreader/impl/AcmeBootstrapDelegate.java

Lines changed: 0 additions & 12 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package acme.fieldreader.impl;
2+
3+
import fieldreader.spec.FieldValueReader;
4+
import fieldreader.spec.bootstrap.FieldReaderProvider;
5+
6+
public class AcmeFieldReaderProvider implements FieldReaderProvider {
7+
8+
@Override
9+
public FieldValueReader provideFieldValueReader(PackageOpener opener) {
10+
return new FieldValueReaderImpl( opener );
11+
}
12+
}

java9/spec-modularity-patterns/acme-fieldreader-impl/src/main/java/acme/fieldreader/impl/FieldValueReaderImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import java.lang.invoke.MethodHandles.Lookup;
55

66
import fieldreader.spec.FieldValueReader;
7-
import fieldreader.spec.bootstrap.BootstrapDelegate.PackageOpener;
7+
import fieldreader.spec.bootstrap.FieldReaderProvider.PackageOpener;
88

99
public class FieldValueReaderImpl implements FieldValueReader {
1010

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
module acme.fieldreader.impl {
22
requires fieldreader.spec;
3-
provides fieldreader.spec.bootstrap.BootstrapDelegate with acme.fieldreader.impl.AcmeBootstrapDelegate;
3+
provides fieldreader.spec.bootstrap.FieldReaderProvider with acme.fieldreader.impl.AcmeFieldReaderProvider;
44
}

java9/spec-modularity-patterns/fieldreader-spec/src/main/java/fieldreader/spec/FieldReaderApi.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22

33
import java.util.ServiceLoader;
44

5-
import fieldreader.spec.bootstrap.BootstrapDelegate;
6-
import fieldreader.spec.bootstrap.BootstrapDelegate.PackageOpener;
5+
import fieldreader.spec.bootstrap.FieldReaderProvider;
6+
import fieldreader.spec.bootstrap.FieldReaderProvider.PackageOpener;
77

88
public class FieldReaderApi {
99

1010
private static final PackageOpener PACKAGE_OPENER = new PackageOpenerImpl();
1111

1212
public static FieldValueReader getFieldValueReader() {
13-
ServiceLoader<BootstrapDelegate> loader = ServiceLoader.load( BootstrapDelegate.class );
13+
ServiceLoader<FieldReaderProvider> loader = ServiceLoader.load( FieldReaderProvider.class );
1414

1515
return loader.findFirst()
16-
.orElseThrow( () -> new IllegalStateException( "No provider of " + BootstrapDelegate.class.getName() + " available" ) )
17-
.getFieldValueReader( PACKAGE_OPENER );
16+
.orElseThrow( () -> new IllegalStateException( "No provider of " + FieldReaderProvider.class.getName() + " available" ) )
17+
.provideFieldValueReader( PACKAGE_OPENER );
1818
}
1919

20-
private static class PackageOpenerImpl implements BootstrapDelegate.PackageOpener {
20+
private static class PackageOpenerImpl implements FieldReaderProvider.PackageOpener {
2121

2222
@Override
2323
public void openPackageIfNeeded(Module targetModule, String targetPackage, Module specImplModule) {

java9/spec-modularity-patterns/fieldreader-spec/src/main/java/fieldreader/spec/FieldValueReader.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package fieldreader.spec;
22

3+
/**
4+
* Retrieves the value of the specified (private) field from the given object.
5+
*/
36
public interface FieldValueReader {
47

58
public Object getFieldValue(Object o, String fieldName);
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22

33
import fieldreader.spec.FieldValueReader;
44

5-
public interface BootstrapDelegate {
5+
/**
6+
* Contract between the field reader API bootstrap mechanism and spec implementations.
7+
*/
8+
public interface FieldReaderProvider {
69

7-
FieldValueReader getFieldValueReader(PackageOpener opener);
10+
FieldValueReader provideFieldValueReader(PackageOpener opener);
811

912
public interface PackageOpener {
1013
void openPackageIfNeeded(Module targetModule, String targetPackage, Module specImplModule);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module fieldreader.spec {
22
exports fieldreader.spec;
33
exports fieldreader.spec.bootstrap;
4-
uses fieldreader.spec.bootstrap.BootstrapDelegate;
4+
uses fieldreader.spec.bootstrap.FieldReaderProvider;
55
}

0 commit comments

Comments
 (0)