/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.objectmodel.EntityHeader
 *  com.l7tech.objectmodel.EntityManager
 *  com.l7tech.objectmodel.PersistentEntity
 *  com.l7tech.policy.Policy
 *  com.l7tech.policy.PolicyType
 */
package com.l7tech.server.policy;

import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityManager;
import com.l7tech.objectmodel.PersistentEntity;
import com.l7tech.policy.Policy;
import com.l7tech.policy.PolicyType;
import com.l7tech.server.ServerConfig;
import com.l7tech.server.event.EntityInvalidationEvent;
import com.l7tech.server.policy.CacheableGuidEntityResolver;
import com.l7tech.server.policy.ServerAssertionRegistry;
import com.l7tech.server.util.ApplicationEventProxy;

class a
extends CacheableGuidEntityResolver<Policy> {
    a(ServerAssertionRegistry serverAssertionRegistry, EntityManager entityManager, ApplicationEventProxy applicationEventProxy, ServerConfig serverConfig) {
        super((EntityManager<? extends PersistentEntity, ? extends EntityHeader>)entityManager, applicationEventProxy, serverConfig);
    }

    @Override
    protected boolean isInterestedEntityEvent(EntityInvalidationEvent entityInvalidationEvent) {
        return Policy.class.isAssignableFrom(entityInvalidationEvent.getEntityClass());
    }

    @Override
    protected void notifyUpdate(Policy policy) {
        block4: {
            try {
                try {
                    if (policy == null || policy.getType() != PolicyType.INCLUDE_FRAGMENT) break block4;
                }
                catch (NullPointerException nullPointerException) {
                    throw a.b(nullPointerException);
                }
                super.notifyUpdate(policy);
            }
            catch (NullPointerException nullPointerException) {
                throw a.b(nullPointerException);
            }
        }
    }

    private static NullPointerException b(NullPointerException nullPointerException) {
        return nullPointerException;
    }
}

