Skip to content

Commit 3b53dd9

Browse files
authored
Uptakes microbean-assign 0.0.11. Exposes model package. (#29)
Signed-off-by: Laird Nelson <[email protected]>
1 parent 93f253c commit 3b53dd9

File tree

16 files changed

+491
-75
lines changed

16 files changed

+491
-75
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ dependency:
2828
<groupId>org.microbean</groupId>
2929
<artifactId>microbean-bean</artifactId>
3030
<!-- Always check https://central.sonatype.com/artifact/org.microbean/microbean-bean for up-to-date available versions. -->
31-
<version>0.0.21</version>
31+
<version>0.0.22</version>
3232
</dependency>
3333
```
3434

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@
130130
<dependency>
131131
<groupId>org.microbean</groupId>
132132
<artifactId>microbean-assign</artifactId>
133-
<version>0.0.10</version>
133+
<version>0.0.11</version>
134134
</dependency>
135135

136136
<dependency>

src/main/java/module-info.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
module org.microbean.bean {
2121

2222
exports org.microbean.bean;
23+
exports org.microbean.bean.model;
2324

2425
requires transitive java.compiler;
2526
requires transitive org.microbean.assign;

src/main/java/org/microbean/bean/Bean.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,13 @@ public final record Bean<I>(Id id, Factory<I> factory) implements Aggregate, Con
6565
requireNonNull(factory, "factory");
6666
}
6767

68+
@Deprecated(forRemoval = true)
6869
@Override // Ranked
6970
public final boolean alternate() {
7071
return this.id.alternate();
7172
}
7273

74+
// (Convenience.)
7375
@Override // Aggregate
7476
public final SequencedSet<? extends Assignment<?>> assign(final Function<? super AttributedType, ?> r) {
7577
return this.factory.assign(r);
@@ -89,6 +91,7 @@ public final <X> Bean<X> cast() {
8991
return (Bean<X>)this;
9092
}
9193

94+
// (Convenience.)
9295
@Override // Aggregate
9396
public final SequencedSet<AttributedElement> dependencies() {
9497
return this.factory.dependencies();
@@ -120,6 +123,8 @@ public final int hashCode() {
120123
return this.id.hashCode();
121124
}
122125

126+
// (Convenience.)
127+
@Deprecated(forRemoval = true)
123128
@Override // Ranked
124129
public final int rank() {
125130
return this.id.rank();

src/main/java/org/microbean/bean/BeanQualifiersMatcher.java

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,10 @@
1616
import java.util.Collection;
1717

1818
import org.microbean.assign.Matcher;
19-
import org.microbean.assign.Qualifiers;
2019

2120
import org.microbean.attributes.Attributes;
2221

23-
import static org.microbean.assign.Qualifiers.anyAndDefaultQualifiers;
24-
import static org.microbean.assign.Qualifiers.defaultQualifier;
22+
import static java.util.Objects.requireNonNull;
2523

2624
/**
2725
* A {@link Matcher} encapsulating <a
@@ -35,16 +33,29 @@
3533
public class BeanQualifiersMatcher implements Matcher<Collection<? extends Attributes>, Collection<? extends Attributes>> {
3634

3735

36+
/*
37+
* Instance fields.
38+
*/
39+
40+
41+
private final Qualifiers qualifiers;
42+
43+
3844
/*
3945
* Constructors.
4046
*/
4147

4248

4349
/**
4450
* Creates a new {@link BeanQualifiersMatcher}.
51+
*
52+
* @param qualifiers a {@link Qualifiers}; must not be {@code null}
53+
*
54+
* @exception NullPointerException if {@code qualifiers} is {@code null}
4555
*/
46-
public BeanQualifiersMatcher() {
56+
public BeanQualifiersMatcher(final Qualifiers qualifiers) {
4757
super();
58+
this.qualifiers = requireNonNull(qualifiers, "qualifiers");
4859
}
4960

5061

@@ -58,10 +69,10 @@ public BeanQualifiersMatcher() {
5869
* org.microbean.assign.Qualifiers#qualifiers(Collection) qualifiers present} in {@code receiverAttributes} is
5970
* {@linkplain Collection#isEmpty() empty} and either the collection of {@linkplain
6071
* org.microbean.assign.Qualifiers#qualifiers(Collection) qualifiers present} in {@code payloadAttributes} is also
61-
* empty or contains the {@linkplain org.microbean.assign.Qualifiers#defaultQualifier() default qualifier}, or (b) if
72+
* empty or contains the {@linkplain org.microbean.bean.Qualifiers#defaultQualifier() default qualifier}, or (b) if
6273
* the collection of {@linkplain org.microbean.assign.Qualifiers#qualifiers(Collection) qualifiers present} in {@code
6374
* payloadAttributes} {@linkplain Collection#isEmpty() is empty} or the return value of {@link
64-
* org.microbean.assign.Qualifiers#anyAndDefaultQualifiers()} {@linkplain Collection#containsAll(Collection) contains
75+
* org.microbean.bean.Qualifiers#anyAndDefaultQualifiers()} {@linkplain Collection#containsAll(Collection) contains
6576
* all} of the {@linkplain org.microbean.assign.Qualifiers#qualifiers(Collection) qualifiers present} in {@code
6677
* receiverAttributes}, or (c) if the collection of {@linkplain org.microbean.assign.Qualifiers#qualifiers(Collection)
6778
* qualifiers present} in {@code payloadAttributes} {@linkplain Collection#containsAll(Collection) contains all} of
@@ -76,10 +87,10 @@ public BeanQualifiersMatcher() {
7687
* org.microbean.assign.Qualifiers#qualifiers(Collection) qualifiers present} in {@code receiverAttributes} is
7788
* {@linkplain Collection#isEmpty() empty} and either the collection of {@linkplain
7889
* org.microbean.assign.Qualifiers#qualifiers(Collection) qualifiers present} in {@code payloadAttributes} is also
79-
* empty or contains the {@linkplain org.microbean.assign.Qualifiers#defaultQualifier() default qualifier}, or (b) if
80-
* the collection of {@linkplain org.microbean.assign.Qualifiers#qualifiers(Collection) qualifiers present} in {@code
90+
* empty or contains the {@linkplain org.microbean.bean.Qualifiers#defaultQualifier() default qualifier}, or (b) if
91+
* the collection of {@linkplain org.microbean.bean.Qualifiers#qualifiers(Collection) qualifiers present} in {@code
8192
* payloadAttributes} {@linkplain Collection#isEmpty() is empty} or the return value of {@link
82-
* org.microbean.assign.Qualifiers#anyAndDefaultQualifiers()} {@linkplain Collection#containsAll(Collection) contains
93+
* org.microbean.bean.Qualifiers#anyAndDefaultQualifiers()} {@linkplain Collection#containsAll(Collection) contains
8394
* all} of the {@linkplain org.microbean.assign.Qualifiers#qualifiers(Collection) qualifiers present} in {@code
8495
* receiverAttributes}, or (c) if the collection of {@linkplain org.microbean.assign.Qualifiers#qualifiers(Collection)
8596
* qualifiers present} in {@code payloadAttributes} {@linkplain Collection#containsAll(Collection) contains all} of
@@ -106,8 +117,8 @@ public final boolean test(final Collection<? extends Attributes> receiverAttribu
106117
// "If an injection point declares no qualifier, the injection point has exactly one qualifier, the default
107118
// qualifier @Default."
108119
return
109-
receiverQualifiers.isEmpty() ? payloadQualifiers.isEmpty() || payloadQualifiers.contains(defaultQualifier()) :
110-
(payloadQualifiers.isEmpty() ? anyAndDefaultQualifiers() : payloadQualifiers).containsAll(receiverQualifiers);
120+
receiverQualifiers.isEmpty() ? payloadQualifiers.isEmpty() || payloadQualifiers.contains(this.qualifiers.defaultQualifier()) :
121+
(payloadQualifiers.isEmpty() ? this.qualifiers.anyAndDefaultQualifiers() : payloadQualifiers).containsAll(receiverQualifiers);
111122
}
112123

113124
/**
@@ -125,9 +136,12 @@ public final boolean test(final Collection<? extends Attributes> receiverAttribu
125136
* Collection} that are deemed to be qualifiers; never {@code null}
126137
*
127138
* @exception NullPointerException if {@code as} is {@code null}
139+
*
140+
* @deprecated Pass a different {@link Qualifiers} to the {@link #BeanQualifiersMatcher(Qualifiers)} constructor.
128141
*/
142+
@Deprecated(forRemoval = true)
129143
protected Collection<? extends Attributes> qualifiers(final Collection<? extends Attributes> as) {
130-
return Qualifiers.qualifiers(as);
144+
return this.qualifiers.qualifiers(as);
131145
}
132146

133147
}

0 commit comments

Comments
 (0)