import java.util.HashSet;
import java.util.Set;
+/**
+ * @deprecated This class does not have good semantics with regard to constituent registrations' lifecycle and should
+ * not be used.
+ */
+@Deprecated
public final class CompositeObjectRegistration<T> extends AbstractObjectRegistration<T> {
- private final Set<Registration<? super T>> registrations;
+ private final Set<Registration> registrations;
- public CompositeObjectRegistration(T instance, Collection<? extends Registration<? super T>> registrations) {
+ public CompositeObjectRegistration(final T instance, final Collection<? extends Registration> registrations) {
super(instance);
if (registrations == null) {
throw new IllegalArgumentException();
@Override
protected void removeRegistration() {
- for (Registration<? super T> registration : registrations) {
+ for (Registration registration : registrations) {
try {
registration.close();
} catch (Exception e) {
}
}
- public static <T> CompositeObjectRegistrationBuilder<T> builderFor(T instance) {
+ public static <T> CompositeObjectRegistrationBuilder<T> builderFor(final T instance) {
return new CompositeObjectRegistrationBuilder<>(instance);
}
- public static final class CompositeObjectRegistrationBuilder<T> implements //
- Builder<CompositeObjectRegistration<T>> {
+ public static final class CompositeObjectRegistrationBuilder<T> implements Builder<CompositeObjectRegistration<T>> {
private final T instance;
- private final Set<Registration<? super T>> registrations;
+ private final Set<Registration> registrations;
- public CompositeObjectRegistrationBuilder(T instance) {
+ public CompositeObjectRegistrationBuilder(final T instance) {
this.instance = instance;
registrations = new HashSet<>();
}
- public CompositeObjectRegistrationBuilder<T> add(ObjectRegistration<? super T> registration) {
- if (registration.getInstance() != instance) {
+ public CompositeObjectRegistrationBuilder<T> add(final ObjectRegistration<? super T> registration) {
+ if (!registration.getInstance().equals(instance)) {
throw new IllegalArgumentException("Instance must be same.");
}
registrations.add(registration);
return this;
}
- public CompositeObjectRegistrationBuilder<T> remove(ObjectRegistration<? super T> registration) {
- if (registration.getInstance() != instance) {
+ public CompositeObjectRegistrationBuilder<T> remove(final ObjectRegistration<? super T> registration) {
+ if (!registration.getInstance().equals(instance)) {
throw new IllegalArgumentException("Instance must be same.");
}
registrations.remove(registration);
}
@Override
- public CompositeObjectRegistration<T> toInstance() {
+ public CompositeObjectRegistration<T> build() {
return new CompositeObjectRegistration<>(instance, registrations);
}
}