All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.univnantes.termsuite.framework.injector.ResourceInjector Maven / Gradle / Ivy

package fr.univnantes.termsuite.framework.injector;

import java.lang.reflect.Field;

import org.apache.uima.resource.SharedResourceObject;

import fr.univnantes.termsuite.framework.Resource;
import fr.univnantes.termsuite.framework.TermSuiteResource;
import fr.univnantes.termsuite.framework.service.TermSuiteResourceManager;
import fr.univnantes.termsuite.uima.ResourceType;

public class ResourceInjector extends TermSuiteInjector {

	private TermSuiteResourceManager mgr;
	
	public ResourceInjector(TermSuiteResourceManager mgr) {
		super();
		this.mgr = mgr;
	}

	public  void injectResources(Object instance) {
		for(Field field:getAnnotatedFields(instance, Resource.class, SharedResourceObject.class, TermSuiteResource.class)) {
			Resource annotation = field.getAnnotation(Resource.class);
			ResourceType resourceType = annotation.type();
			injectField(field, instance, mgr.get(resourceType));
		}
	}

	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy