Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2012 the original author or authors.
   *
   * 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 org.springframework.data.gemfire.mapping;
 
 import java.util.Map;
 
 
 import  com.gemstone.gemfire.cache.Region;

Simple value object to abstract access to regions by name and mapped type.

Author(s):
Oliver Gierke
 
 public class Regions implements Iterable<Region<?, ?>> {
 
 	private final Map<StringRegion<?, ?>> regions;
 
 	private final MappingContext<? extends GemfirePersistentEntity<?>, ?> context;

Creates a new Regions wrapper for the given Regions and MappingContext.

Parameters:
regions must not be null.
context must not be null.
 
 	public Regions(Iterable<Region<?, ?>> regionsMappingContext<? extends GemfirePersistentEntity<?>, ?> context) {
 
 		Assert.notNull(regions);
 		Assert.notNull(context);
 
 		Map<String, com.gemstone.gemfire.cache.Region<?, ?>> regionMap = new HashMap<StringRegion<?, ?>>();
 
 		for (Region<?, ?> region : regions) {
 			regionMap.put(region.getName(), region);
 		}
 
 		this. = Collections.unmodifiableMap(regionMap);
 		this. = context;
 	}

Returns the Region the given type is mapped to. Will try to find a Region with the simple class name in case no mapping information is found.

Parameters:
type must not be null.
Returns:
the Region the given type is mapped to.
 
 	@SuppressWarnings("unchecked")
 	public <T> Region<?, T> getRegion(Class<T> type) {
 
 		Assert.notNull(type);
 
 		return (Region<?, T>) (entity == null ? regions.get(type.getSimpleName()) : regions.get(entity.getRegionName()));
 	}

Returns the Region with the given name.

Parameters:
name must not be null.
Returns:
the Region with the given name.
 
 	@SuppressWarnings("unchecked")
 	public <S, T> Region<S, T> getRegion(String name) {
 
 		Assert.notNull(name);
 
 		return (Region<S, T>) regions.get(name);
 	}
 
 	/*
 	 * (non-Javadoc)
 	 * 
 	 * @see java.lang.Iterable#iterator()
 	 */
 	public Iterator<Region<?, ?>> iterator() {
 		return regions.values().iterator();
	}
New to GrepCode? Check out our FAQ X