/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.objectmodel.DeleteException
 *  com.l7tech.objectmodel.EntityHeader
 *  com.l7tech.objectmodel.EntityManager
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.objectmodel.SaveException
 *  com.l7tech.objectmodel.UpdateException
 *  com.l7tech.policy.GenericEntity
 *  com.l7tech.policy.GenericEntityHeader
 *  com.l7tech.policy.InvalidGenericEntityException
 *  org.jetbrains.annotations.NotNull
 *  org.jetbrains.annotations.Nullable
 */
package com.l7tech.server.entity;

import com.l7tech.objectmodel.DeleteException;
import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityManager;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.SaveException;
import com.l7tech.objectmodel.UpdateException;
import com.l7tech.policy.GenericEntity;
import com.l7tech.policy.GenericEntityHeader;
import com.l7tech.policy.InvalidGenericEntityException;
import com.l7tech.server.entity.GenericEntityMetadata;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public interface GenericEntityManager
extends EntityManager<GenericEntity, GenericEntityHeader> {
    public <ET extends GenericEntity> void registerClass(@NotNull Class<ET> var1) throws IllegalArgumentException;

    public <ET extends GenericEntity> void registerClass(@NotNull Class<ET> var1, @Nullable GenericEntityMetadata var2) throws IllegalArgumentException;

    public boolean unRegisterClass(String var1);

    public boolean isRegistered(String var1);

    public <ET extends GenericEntity> EntityManager<ET, GenericEntityHeader> getEntityManager(@NotNull Class<ET> var1);

    public <ET extends GenericEntity> ET findByGenericClassAndPrimaryKey(@NotNull Class<ET> var1, Goid var2) throws FindException;

    public <ET extends GenericEntity> Collection<ET> findAll(Class<ET> var1) throws FindException;

    public Collection<GenericEntityHeader> findAllHeaders(@NotNull Class<? extends GenericEntity> var1) throws FindException;

    public Collection<GenericEntityHeader> findAllHeaders(@NotNull Class<? extends GenericEntity> var1, int var2, int var3) throws FindException;

    public <ET extends GenericEntity> Goid save(@NotNull Class<ET> var1, ET var2) throws SaveException;

    public <ET extends GenericEntity> void save(@NotNull Goid var1, @NotNull Class<ET> var2, ET var3) throws SaveException;

    public <ET extends GenericEntity> Integer getVersion(@NotNull Class<ET> var1, Goid var2) throws FindException;

    public <ET extends GenericEntity> Map<Goid, Integer> findVersionMap(@NotNull Class<ET> var1) throws FindException;

    public <ET extends GenericEntity> void delete(@NotNull Class<ET> var1, ET var2) throws DeleteException;

    public <ET extends GenericEntity> ET getCachedEntity(@NotNull Class<ET> var1, Goid var2, int var3) throws FindException;

    public <ET extends GenericEntity> ET findByUniqueName(@NotNull Class<ET> var1, String var2) throws FindException;

    public GenericEntity findByUniqueName(@NotNull String var1, String var2) throws FindException;

    public <ET extends GenericEntity> void delete(@NotNull Class<ET> var1, Goid var2) throws DeleteException, FindException;

    public <ET extends GenericEntity> void update(@NotNull Class<ET> var1, ET var2) throws UpdateException;

    public <ET extends GenericEntity> ET findByHeader(@NotNull Class<ET> var1, EntityHeader var2) throws FindException;

    public <ET extends GenericEntity> List<ET> findPagedMatching(@NotNull Class<ET> var1, int var2, int var3, @Nullable String var4, @Nullable Boolean var5, @Nullable Map<String, List<Object>> var6) throws FindException;

    public <ET extends GenericEntity> ET asConcreteEntity(GenericEntity var1) throws InvalidGenericEntityException;
}

