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

com.jaregu.database.queries.proxy.QueriesSourceClassProducer Maven / Gradle / Ivy

Go to download

Java based SQL templating project. Store your queries in *.sql files and build queries for execution. Supports simple expressions and conditional clauses and interface proxying for java-sql bridge.

There is a newer version: 1.4.1
Show newest version
package com.jaregu.database.queries.proxy;

import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;

import com.jaregu.database.queries.SourceId;

public class QueriesSourceClassProducer implements SourceIdProducer {

	QueriesSourceClassProducer() {
	}

	@Override
	public SourceId get(AnnotatedElement element, Annotation annotation) {
		QueriesSourceClass sourceClass = (QueriesSourceClass) annotation;
		SourceId sourceId;
		if (QueriesSourceClass.DEFAULT.class.isAssignableFrom(sourceClass.value())) {
			if (element instanceof Class) {
				sourceId = SourceId.ofClass((Class) element);
			} else {
				throw new QueryProxyException(
						"Annotation QueriesSourceClass value can be ommited if used on source class itself!");
			}
		} else {
			sourceId = SourceId.ofClass(sourceClass.value());
		}
		return sourceId;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy