/* * Copyright (c) 2008-2017, Hazelcast, Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.hazelcast.config; import com.hazelcast.map.eviction.MapEvictionPolicy; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * Contains the configuration for an {@link com.hazelcast.core.IMap} (read-only). * * @deprecated this class will be removed in 4.0; it is meant for internal usage only. */ public class MapConfigReadOnly extends MapConfig { MapConfigReadOnly(MapConfig config) { super(config); } @Override public MaxSizeConfig getMaxSizeConfig() { final MaxSizeConfig maxSizeConfig = super.getMaxSizeConfig(); if (maxSizeConfig == null) { return null; } return maxSizeConfig.getAsReadOnly(); } @Override public WanReplicationRef getWanReplicationRef() { final WanReplicationRef wanReplicationRef = super.getWanReplicationRef(); if (wanReplicationRef == null) { return null; } return wanReplicationRef.getAsReadOnly(); } @Override public List<EntryListenerConfig> getEntryListenerConfigs() { final List<EntryListenerConfig> listenerConfigs = super.getEntryListenerConfigs(); final List<EntryListenerConfig> readOnlyListenerConfigs = new ArrayList<EntryListenerConfig>(listenerConfigs.size()); for (EntryListenerConfig listenerConfig : listenerConfigs) { readOnlyListenerConfigs.add(listenerConfig.getAsReadOnly()); } return Collections.unmodifiableList(readOnlyListenerConfigs); } @Override public List<MapPartitionLostListenerConfig> getPartitionLostListenerConfigs() { final List<MapPartitionLostListenerConfig> listenerConfigs = super.getPartitionLostListenerConfigs(); final List<MapPartitionLostListenerConfig> readOnlyListenerConfigs = new ArrayList<MapPartitionLostListenerConfig>(listenerConfigs.size()); for (MapPartitionLostListenerConfig listenerConfig : listenerConfigs) { readOnlyListenerConfigs.add(listenerConfig.getAsReadOnly()); } return Collections.unmodifiableList(readOnlyListenerConfigs); } @Override public List<MapIndexConfig> getMapIndexConfigs() { final List<MapIndexConfig> mapIndexConfigs = super.getMapIndexConfigs(); final List<MapIndexConfig> readOnlyMapIndexConfigs = new ArrayList<MapIndexConfig>(mapIndexConfigs.size()); for (MapIndexConfig mapIndexConfig : mapIndexConfigs) { readOnlyMapIndexConfigs.add(mapIndexConfig.getAsReadOnly()); } return Collections.unmodifiableList(readOnlyMapIndexConfigs); } @Override public PartitioningStrategyConfig getPartitioningStrategyConfig() { final PartitioningStrategyConfig partitioningStrategyConfig = super.getPartitioningStrategyConfig(); if (partitioningStrategyConfig == null) { return null; } return partitioningStrategyConfig.getAsReadOnly(); } @Override public MapStoreConfig getMapStoreConfig() { final MapStoreConfig mapStoreConfig = super.getMapStoreConfig(); if (mapStoreConfig == null) { return null; } return mapStoreConfig.getAsReadOnly(); } @Override public NearCacheConfig getNearCacheConfig() { final NearCacheConfig nearCacheConfig = super.getNearCacheConfig(); if (nearCacheConfig == null) { return null; } return nearCacheConfig.getAsReadOnly(); } @Override public List<QueryCacheConfig> getQueryCacheConfigs() { List<QueryCacheConfig> queryCacheConfigs = super.getQueryCacheConfigs(); List<QueryCacheConfig> readOnlyOnes = new ArrayList<QueryCacheConfig>(queryCacheConfigs.size()); for (QueryCacheConfig config : queryCacheConfigs) { readOnlyOnes.add(config.getAsReadOnly()); } return Collections.unmodifiableList(readOnlyOnes); } @Override public MapConfig setHotRestartConfig(HotRestartConfig hotRestartConfig) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setName(String name) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setInMemoryFormat(InMemoryFormat inMemoryFormat) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setBackupCount(int backupCount) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setAsyncBackupCount(int asyncBackupCount) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setEvictionPercentage(int evictionPercentage) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setMinEvictionCheckMillis(long checkIfEvictableAfterMillis) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setTimeToLiveSeconds(int timeToLiveSeconds) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setMaxIdleSeconds(int maxIdleSeconds) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setMaxSizeConfig(MaxSizeConfig maxSizeConfig) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setEvictionPolicy(EvictionPolicy evictionPolicy) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setMapEvictionPolicy(MapEvictionPolicy mapEvictionPolicy) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setMapStoreConfig(MapStoreConfig mapStoreConfig) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setNearCacheConfig(NearCacheConfig nearCacheConfig) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setMergePolicy(String mergePolicy) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setStatisticsEnabled(boolean statisticsEnabled) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setReadBackupData(boolean readBackupData) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setWanReplicationRef(WanReplicationRef wanReplicationRef) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig addEntryListenerConfig(EntryListenerConfig listenerConfig) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setEntryListenerConfigs(List<EntryListenerConfig> listenerConfigs) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig addMapIndexConfig(MapIndexConfig mapIndexConfig) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setMapIndexConfigs(List<MapIndexConfig> mapIndexConfigs) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setPartitioningStrategyConfig(PartitioningStrategyConfig partitioningStrategyConfig) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setOptimizeQueries(boolean optimizeQueries) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setPartitionLostListenerConfigs(List<MapPartitionLostListenerConfig> listenerConfigs) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setMapAttributeConfigs(List<MapAttributeConfig> mapAttributeConfigs) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public void setQueryCacheConfigs(List<QueryCacheConfig> queryCacheConfigs) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setCacheDeserializedValues(CacheDeserializedValues cacheDeserializedValues) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } @Override public MapConfig setQuorumName(String quorumName) { throw new UnsupportedOperationException("This config is read-only map: " + getName()); } }