Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright: (c) 2004-2011 Mayo Foundation for Medical Education and 
   * Research (MFMER). All rights reserved. MAYO, MAYO CLINIC, and the
   * triple-shield Mayo logo are trademarks and service marks of MFMER.
   *
   * Except as contained in the copyright notice above, or as used to identify 
   * MFMER as the author of this software, the trade names, trademarks, service
   * marks, or product names of the copyright holder shall not be used in
   * advertising, promotion or otherwise in connection with this software without
  * prior written authorization of the copyright holder.
  *
  * 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.twinkql.instance;
 
 import java.util.Map;
 
 import  org.springframework.beans.factory.InitializingBean;
 import  org.springframework.stereotype.Component;
 
The Class CallbackInstantiator.

Author(s):
Kevin Peterson
 
 @Component
 	implements InitializingBean {
 	
 	
 	public void afterPropertiesSet() throws Exception {
 		TwinkqlContext twinkqlContext = this.getTwinkqlContext();
 		
 		this.cacheAliases(twinkqlContext.getTwinkqlConfig());
 	}
 	
 	private void cacheAliases(TwinkqlConfig twinkqlConfig){
 		if(twinkqlConfig != null){
 			for(TwinkqlConfigItem item : twinkqlConfig.getTwinkqlConfigItem()){
 				AliasDefinition alias = item.getAlias();
 				if(alias != null){
 					this..put(alias.getId(), alias);
 				}
 			}
 		}
 	}

Instantiates a new bean instantiator.
 
 	public BeanInstantiator(){
 		super();
 	}

Instantiates a new bean instantiator.

Parameters:
twinkqlContext the twinkql context
 
 	public BeanInstantiator(TwinkqlContext twinkqlContext){
 		super(twinkqlContext);
 	}

Instantiate after callback.

Parameters:
<T> the generic type
className the class name
requiredType the required type
Returns:
the after result binding
 
 	public Object instantiate(String classNameOrAliasboolean newInstance) {
 		return this.instantiate(classNameOrAliasnullnewInstance);
 	}
 	
 	@SuppressWarnings("unchecked")
 	public <T> T instantiate(String classNameOrAliasClass<T> requiredTypeboolean newInstance) {
 		classNameOrAlias = StringUtils.strip(classNameOrAlias);
 		
 		classNameOrAlias = this.convertAliasToClassName(classNameOrAlias);
		Object callback = this.doInstantiate(classNameOrAliasnewInstance);
		if(requiredType != null){
			if(! ClassUtils.isAssignable(callback.getClass(), requiredType)){
				throw new RuntimeException();
			}
		}
		return (T) callback;
	}
	protected String convertAliasToClassName(String classNameOrAlias){
		if(this..containsKey(classNameOrAlias)){
			return this..get(classNameOrAlias).getType();
else {
			return classNameOrAlias;
		}
	}
New to GrepCode? Check out our FAQ X