package org.molgenis.data.support; import org.molgenis.data.Entity; import org.molgenis.data.Repository; import org.molgenis.data.RepositoryCollection; import org.molgenis.data.RepositoryCollectionCapability; import org.molgenis.data.meta.model.Attribute; import org.molgenis.data.meta.model.EntityType; import java.util.EnumSet; import java.util.Set; import static com.google.common.collect.Sets.immutableEnumSet; /** * Base class for a {@link RepositoryCollection} that is not {@link org.molgenis.data.RepositoryCollectionCapability#WRITABLE} * and not {@link org.molgenis.data.RepositoryCollectionCapability#UPDATABLE}. */ public abstract class AbstractRepositoryCollection implements RepositoryCollection { @Override public Set<RepositoryCollectionCapability> getCapabilities() { return immutableEnumSet(EnumSet.noneOf(RepositoryCollectionCapability.class)); } @Override public Repository<Entity> createRepository(EntityType entityType) { throw new UnsupportedOperationException(); } @Override public void deleteRepository(EntityType entityType) { throw new UnsupportedOperationException(); } @Override public void addAttribute(EntityType entityType, Attribute attribute) { throw new UnsupportedOperationException(); } @Override public void updateAttribute(EntityType entityType, Attribute attr, Attribute updatedAttr) { throw new UnsupportedOperationException(); } @Override public void deleteAttribute(EntityType entityType, Attribute attr) { throw new UnsupportedOperationException(); } @Override public Repository<Entity> getRepository(EntityType entityType) { return getRepository(entityType.getName()); } }