@AllowConcurrentEvents @Subscribe public void handle(final CapabilityEvent.AfterRemove event) { if (isSatisfied() && type.equals(event.getReference().context().type())) { checkAllCapabilities(); } }
public CapabilityOfTypeExistsCondition( final EventBus eventBus, final CapabilityDescriptorRegistry descriptorRegistry, final CapabilityRegistry capabilityRegistry, final CapabilityType type) { super(eventBus); this.capabilityRegistry = checkNotNull(capabilityRegistry); this.type = checkNotNull(type); final CapabilityDescriptor descriptor = checkNotNull(descriptorRegistry).get(type); typeName = descriptor == null ? type.toString() : descriptor.name(); bindLock = new ReentrantReadWriteLock(); }
boolean isSatisfiedBy(final CapabilityReference reference) { return type.equals(reference.context().type()); }