Package com.ctp.cdi.query.meta.extractor

Source Code of com.ctp.cdi.query.meta.extractor.AnnotationMetadataExtractor

package com.ctp.cdi.query.meta.extractor;

import com.ctp.cdi.query.Dao;
import com.ctp.cdi.query.NonEntity;
import com.ctp.cdi.query.meta.DaoEntity;
import com.ctp.cdi.query.meta.verifier.EntityVerifier;
import com.ctp.cdi.query.meta.verifier.Verifier;
import com.ctp.cdi.query.util.EntityUtils;

public class AnnotationMetadataExtractor implements MetadataExtractor {

    private final Verifier<Class<?>> verifier;

    public AnnotationMetadataExtractor() {
        this.verifier = new EntityVerifier();
    }

    @Override
    public DaoEntity extract(Class<?> daoClass) {
        Dao dao = daoClass.getAnnotation(Dao.class);
        Class<?> daoEntity = dao.value();
        boolean isEntityClass = !NonEntity.class.equals(daoEntity) && verifier.verify(daoEntity);
        if (isEntityClass) {
            return new DaoEntity(daoEntity, EntityUtils.primaryKeyClass(daoEntity));
        }
        return null;
    }

}
TOP

Related Classes of com.ctp.cdi.query.meta.extractor.AnnotationMetadataExtractor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.