Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2011-2013 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.mongodb.repository.query;
 
 import java.util.List;
 
 import  org.springframework.core.annotation.AnnotationUtils;
 import  org.springframework.util.Assert;
 import  org.springframework.util.StringUtils;

Mongo specific implementation of QueryMethod.

Author(s):
Oliver Gierke
 
 public class MongoQueryMethod extends QueryMethod {
 
 	@SuppressWarnings("unchecked"private static final List<Class<?>> GEO_NEAR_RESULTS = Arrays.asList(GeoResult.class,
 			GeoResults.classGeoPage.class);
 
 	private final Method method;
 
Creates a new MongoQueryMethod from the given Method.

Parameters:
method
 
 	public MongoQueryMethod(Method methodRepositoryMetadata metadata,
 			MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentPropertymappingContext) {
 
 		super(methodmetadata);
 
 		Assert.notNull(mappingContext"MappingContext must not be null!");
 
 		this. = method;
 		this. = mappingContext;
 	}
 
 	/*
 	 * (non-Javadoc)
 	 * @see org.springframework.data.repository.query.QueryMethod#getParameters(java.lang.reflect.Method)
 	 */
 	protected MongoParameters createParameters(Method method) {
 		return new MongoParameters(methodisGeoNearQuery(method));
 	}

Returns whether the method has an annotated query.

Returns:
 
 	public boolean hasAnnotatedQuery() {
 		return getAnnotatedQuery() != null;
 	}

Returns the query string declared in a Query annotation or null if neither the annotation found nor the attribute was specified.

Returns:
 
 
 		String query = (String) AnnotationUtils.getValue(getQueryAnnotation());
 		return StringUtils.hasText(query) ? query : null;
 	}

Returns the field specification to be used for the query.

Returns:
		String value = (String) AnnotationUtils.getValue(getQueryAnnotation(), "fields");
		return StringUtils.hasText(value) ? value : null;
	}
	/* 
	 * (non-Javadoc)
	 * @see org.springframework.data.repository.query.QueryMethod#getEntityInformation()
	 */
	@SuppressWarnings("unchecked")
		if ( == null) {
			Class<?> returnedObjectType = getReturnedObjectType();
			Class<?> domainClass = getDomainClass();
			MongoPersistentEntity<?> managedEntity = .getPersistentEntity(domainClass);
			returnedEntity = returnedEntity == null ? managedEntity : returnedEntity;
			MongoPersistentEntity<?> collectionEntity = domainClass.isAssignableFrom(returnedObjectType) ? returnedEntity
managedEntity;
			this. = new SimpleMongoEntityMetadata<Object>((Class<Object>) returnedEntity.getType(),
					collectionEntity.getCollection());
		}
		return this.;
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.data.repository.query.QueryMethod#getParameters()
	 */
		return (MongoParameterssuper.getParameters();
	}

Returns whether te query is a geo near query.

Returns:
	public boolean isGeoNearQuery() {
		return isGeoNearQuery(this.);
	}
	private boolean isGeoNearQuery(Method method) {
			return true;
		}
		if (Iterable.class.isAssignableFrom(method.getReturnType())) {
			TypeInformation<?> from = ClassTypeInformation.fromReturnTypeOf(method);
			return GeoResult.class.equals(from.getComponentType().getType());
		}
		return false;
	}

Returns the Query annotation that is applied to the method or null if none available.

Returns:
		return .getAnnotation(Query.class);
	}
		return ClassTypeInformation.fromReturnTypeOf();
	}
New to GrepCode? Check out our FAQ X