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

sk.seges.sesam.pap.configuration.printer.AbstractSettingsElementPrinter Maven / Gradle / Ivy

package sk.seges.sesam.pap.configuration.printer;

import javax.lang.model.element.ElementKind;
import javax.lang.model.type.PrimitiveType;
import javax.lang.model.type.TypeMirror;

import sk.seges.sesam.core.pap.model.mutable.utils.MutableProcessingEnvironment;
import sk.seges.sesam.pap.configuration.model.setting.SettingsContext;
import sk.seges.sesam.pap.configuration.printer.api.AbstractElementPrinter;

public abstract class AbstractSettingsElementPrinter implements AbstractElementPrinter {

	protected MutableProcessingEnvironment processingEnv;
	
	protected AbstractSettingsElementPrinter(MutableProcessingEnvironment processingEnv) {
		this.processingEnv = processingEnv;
	}
	
	protected TypeMirror boxType(TypeMirror type) {
		if (type.getKind().isPrimitive()) {
			return processingEnv.getTypeUtils().boxedClass((PrimitiveType)type).asType();
		}
		
		return type;
	}
	
	public abstract ElementKind getSupportedType();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy