当前位置: 首页>>代码示例>>Java>>正文


Java Entity类代码示例

本文整理汇总了Java中org.seasar.doma.Entity的典型用法代码示例。如果您正苦于以下问题:Java Entity类的具体用法?Java Entity怎么用?Java Entity使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Entity类属于org.seasar.doma包,在下文中一共展示了Entity类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: newInstance

import org.seasar.doma.Entity; //导入依赖的package包/类
public static EntityMirror newInstance(TypeElement clazz,
        ProcessingEnvironment env) {
    assertNotNull(env);
    AnnotationMirror annotationMirror = ElementUtil.getAnnotationMirror(
            clazz, Entity.class, env);
    if (annotationMirror == null) {
        return null;
    }
    EntityMirror result = new EntityMirror(annotationMirror);
    for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : env
            .getElementUtils()
            .getElementValuesWithDefaults(annotationMirror).entrySet()) {
        String name = entry.getKey().getSimpleName().toString();
        AnnotationValue value = entry.getValue();
        if ("listener".equals(name)) {
            result.listener = value;
        } else if ("naming".equals(name)) {
            result.naming = value;
        } else if ("immutable".equals(name)) {
            result.immutable = value;
        }
    }
    return result;
}
 
开发者ID:domaframework,项目名称:doma,代码行数:25,代码来源:EntityMirror.java

示例2: getEntityElementValueList

import org.seasar.doma.Entity; //导入依赖的package包/类
protected List<AnnotationValue> getEntityElementValueList(
        TypeElement classElement, String entityElementName) {
    List<AnnotationValue> list = new LinkedList<AnnotationValue>();
    for (TypeElement t = classElement; t != null
            && t.asType().getKind() != TypeKind.NONE; t = TypeMirrorUtil
            .toTypeElement(t.getSuperclass(), env)) {
        AnnotationMirror annMirror = ElementUtil.getAnnotationMirror(t,
                Entity.class, env);
        if (annMirror == null) {
            continue;
        }
        AnnotationValue value = null;
        for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : annMirror
                .getElementValues().entrySet()) {
            ExecutableElement element = entry.getKey();
            if (entityElementName
                    .equals(element.getSimpleName().toString())) {
                value = entry.getValue();
                break;
            }
        }
        list.add(value);
    }
    Collections.reverse(list);
    return list;
}
 
开发者ID:domaframework,项目名称:doma,代码行数:27,代码来源:EntityMetaFactory.java

示例3: doImportName

import org.seasar.doma.Entity; //导入依赖的package包/类
@Override
protected void doImportName(final EntityModel model, final EntityDesc entityDesc) {
    classModelSupport.addImportName(model, Entity.class);
    classModelSupport.addImportName(model, Serializable.class);
    classModelSupport.addImportName(model, Generated.class);
    if (model.getCatalogName() != null || model.getSchemaName() != null
            || model.getTableName() != null) {
        classModelSupport.addImportName(model, Table.class);
    }
    if (superclass != null) {
        classModelSupport.addImportName(model, superclass);
    }
    for (AttributeModel attr : model.getAttributeModelList()) {
        if (attr.isId()) {
            classModelSupport.addImportName(model, Id.class);
            if (attr.getGenerationType() != null) {
                classModelSupport
                        .addImportName(model, GeneratedValue.class);
                classModelSupport
                        .addImportName(model, GenerationType.class);
                if (attr.getGenerationType() == javax.persistence.GenerationType.SEQUENCE) {
                    classModelSupport.addImportName(model,
                            SequenceGenerator.class);
                } else if (attr.getGenerationType() == javax.persistence.GenerationType.TABLE) {
                    classModelSupport.addImportName(model,
                            TableGenerator.class);
                }
            }
        }
        if (attr.isTransient()) {
            classModelSupport.addImportName(model, Transient.class);
        } else {
            classModelSupport.addImportName(model, Column.class);
        }
        if (attr.isVersion()) {
            classModelSupport.addImportName(model, Version.class);
        }
        classModelSupport.addImportName(model, attr.getAttributeClass());
    }
}
 
开发者ID:coastland,项目名称:gsp-dba-maven-plugin,代码行数:41,代码来源:DomaGspFactoryImpl.java

示例4: getFieldElements

import org.seasar.doma.Entity; //导入依赖的package包/类
protected List<VariableElement> getFieldElements(
        TypeElement classElement) {
    List<VariableElement> results = new LinkedList<VariableElement>();
    for (TypeElement t = classElement; t != null
            && t.asType().getKind() != TypeKind.NONE; t = TypeMirrorUtil
            .toTypeElement(t.getSuperclass(), env)) {
        if (t.getAnnotation(Entity.class) == null) {
            continue;
        }
        List<VariableElement> fields = new LinkedList<VariableElement>();
        for (VariableElement field : ElementFilter.fieldsIn(t
                .getEnclosedElements())) {
            fields.add(field);
        }
        Collections.reverse(fields);
        results.addAll(fields);
    }
    Collections.reverse(results);

    List<VariableElement> hiderFields = new LinkedList<VariableElement>(
            results);
    for (Iterator<VariableElement> it = results.iterator(); it
            .hasNext();) {
        VariableElement hidden = it.next();
        for (VariableElement hider : hiderFields) {
            if (env.getElementUtils().hides(hider, hidden)) {
                it.remove();
            }
        }
    }
    return results;
}
 
开发者ID:domaframework,项目名称:doma,代码行数:33,代码来源:EntityMetaFactory.java

示例5: newInstance

import org.seasar.doma.Entity; //导入依赖的package包/类
public static EntityCtType newInstance(TypeMirror type,
        ProcessingEnvironment env) {
    assertNotNull(type, env);
    TypeElement typeElement = TypeMirrorUtil.toTypeElement(type, env);
    if (typeElement == null) {
        return null;
    }
    Entity entity = typeElement.getAnnotation(Entity.class);
    if (entity == null) {
        return null;
    }
    return new EntityCtType(type, env, entity.immutable());
}
 
开发者ID:domaframework,项目名称:doma,代码行数:14,代码来源:EntityCtType.java

示例6: getGeneratedClassName

import org.seasar.doma.Entity; //导入依赖的package包/类
protected String getGeneratedClassName(Class<?> originalClass) {
    if (originalClass.isAnnotationPresent(Dao.class)) {
        return originalClass.getName()
                + Options.Constants.DEFAULT_DAO_SUFFIX;
    }
    if (originalClass.isAnnotationPresent(Entity.class)
            || originalClass.isAnnotationPresent(Embeddable.class)
            || originalClass.isAnnotationPresent(Domain.class)
            || originalClass.isAnnotationPresent(ExternalDomain.class)) {
        return MetaUtil.toFullMetaName(originalClass.getName());
    }
    throw new AssertionFailedError("annotation not found.");
}
 
开发者ID:domaframework,项目名称:doma,代码行数:14,代码来源:AptTestCase.java

示例7: getSuperclassEntityPropertyInfo

import org.seasar.doma.Entity; //导入依赖的package包/类
/**
 * スーパークラスに定義されたエンティティプロパティの情報のセットを返します。
 * 
 * @return スーパークラスに定義されたエンティティプロパティの情報のセット
 * @since 1.7.0
 */
protected Set<EntityPropertyInfo> getSuperclassEntityPropertyInfo() {
    Set<EntityPropertyInfo> results = new HashSet<EntityPropertyInfo>();
    if (superclass == null) {
        return results;
    }
    for (Class<?> clazz = superclass; clazz != Object.class; clazz = clazz
            .getSuperclass()) {
        Entity entity = clazz.getAnnotation(Entity.class);
        if (entity == null) {
            continue;
        }
        org.seasar.doma.jdbc.entity.NamingType namingType = entity.naming();
        for (Field field : clazz.getDeclaredFields()) {
            int m = field.getModifiers();
            if (Modifier.isStatic(m)) {
                continue;
            }
            if (field.isAnnotationPresent(Transient.class)) {
                continue;
            }
            EntityPropertyInfo propertyInfo = new EntityPropertyInfo();
            propertyInfo.entityClass = clazz;
            propertyInfo.propertyField = field;
            Column column = field.getAnnotation(Column.class);
            propertyInfo.column = column;
            if (column == null || column.name().isEmpty()) {
                propertyInfo.columnName = namingType.apply(field.getName())
                        .toLowerCase();
            } else {
                propertyInfo.columnName = column.name();
            }
            propertyInfo.id = field.getAnnotation(Id.class);
            propertyInfo.generatedValue = field
                    .getAnnotation(GeneratedValue.class);
            propertyInfo.sequenceGenerator = field
                    .getAnnotation(SequenceGenerator.class);
            propertyInfo.tableGenerator = field
                    .getAnnotation(TableGenerator.class);
            propertyInfo.version = field.getAnnotation(Version.class);
            results.add(propertyInfo);
        }
    }
    return results;
}
 
开发者ID:domaframework,项目名称:doma-gen,代码行数:51,代码来源:EntityDescFactory.java

示例8: handleImportName

import org.seasar.doma.Entity; //导入依赖的package包/类
/**
 * インポート名を処理します。
 * 
 * @param entityDesc
 *            エンティティ記述
 * @param tableMeta
 *            テーブルメタデータ
 */
protected void handleImportName(EntityDesc entityDesc, TableMeta tableMeta) {
    classDescSupport.addImportName(entityDesc, ClassConstants.Entity);
    if (entityDesc.getCatalogName() != null
            || entityDesc.getSchemaName() != null
            || entityDesc.getTableName() != null) {
        classDescSupport.addImportName(entityDesc, ClassConstants.Table);
    }
    if (superclass != null) {
        classDescSupport.addImportName(entityDesc, superclass.getName());
    }
    if (namingType != NamingType.NONE) {
        classDescSupport.addImportName(entityDesc,
                namingType.getEnumConstant());
    }
    if (originalStatesPropertyName != null) {
        classDescSupport.addImportName(entityDesc,
                ClassConstants.OriginalStates);
    }
    for (EntityPropertyDesc propertyDesc : entityDesc
            .getOwnEntityPropertyDescs()) {
        if (propertyDesc.isId()) {
            classDescSupport.addImportName(entityDesc, ClassConstants.Id);
            if (propertyDesc.getGenerationType() != null) {
                classDescSupport.addImportName(entityDesc,
                        ClassConstants.GeneratedValue);
                classDescSupport.addImportName(entityDesc,
                        ClassConstants.GenerationType);
                GenerationType generationType = propertyDesc
                        .getGenerationType();
                if (generationType != null) {
                    classDescSupport.addImportName(entityDesc,
                            generationType.getEnumConstant());
                    if (generationType == GenerationType.SEQUENCE) {
                        classDescSupport.addImportName(entityDesc,
                                ClassConstants.SequenceGenerator);
                    } else if (generationType == GenerationType.TABLE) {
                        classDescSupport.addImportName(entityDesc,
                                ClassConstants.TableGenerator);
                    }
                }
            }
        }
        classDescSupport.addImportName(entityDesc, ClassConstants.Column);
        if (propertyDesc.isVersion()) {
            classDescSupport.addImportName(entityDesc,
                    ClassConstants.Version);
        }
        classDescSupport.addImportName(entityDesc,
                propertyDesc.getPropertyClassName());
    }
}
 
开发者ID:domaframework,项目名称:doma-gen,代码行数:60,代码来源:EntityDescFactory.java

示例9: getEntitySingleResult

import org.seasar.doma.Entity; //导入依赖的package包/类
/**
 * エンティティのインスタンスを1件返します。
 * <p>
 * 検索結果が存在しない場合は {@code null}を返しますが、
 * {@link SelectBuilder#ensureResult(boolean)} に {@code true} を設定することで、
 * {@code null}を返す代わりに{@link NoResultException} をスローできます。
 * 
 * @param <RESULT>
 *            エンティティの型
 * @param resultClass
 *            エンティティクラス
 * @return 検索結果
 * 
 * @throws DomaNullPointerException
 *             引数が{@code null} の場合
 * @throws DomaIllegalArgumentException
 *             {@code resultClass} がエンティティクラスでない場合
 * @throws UnknownColumnException
 *             結果セットに含まれるカラムにマッピングされたプロパティが見つからなかった場合
 * @throws NoResultException
 *             {@link SelectBuilder#ensureResult(boolean)} に {@code true}
 *             を設定しており結果が存在しない場合
 * @throws ResultMappingException
 *             {@link SelectBuilder#ensureResultMapping(boolean)} に
 *             {@code true} を設定しており、マッピングされないエンティティプロパティが存在する場合
 * @throws NonUniqueResultException
 *             結果が2件以上返された場合
 * @throws JdbcException
 *             上記以外でJDBCに関する例外が発生した場合
 * @since 2.0.0
 */
public <RESULT> RESULT getEntitySingleResult(Class<RESULT> resultClass) {
    if (resultClass == null) {
        throw new DomaNullPointerException("resultClass");
    }
    if (!resultClass.isAnnotationPresent(Entity.class)) {
        throw new DomaIllegalArgumentException("resultClass",
                Message.DOMA2219.getMessage(resultClass));
    }
    if (query.getMethodName() == null) {
        query.setCallerMethodName("getEntitySingleResult");
    }
    EntityType<RESULT> entityType = EntityTypeFactory.getEntityType(
            resultClass, config.getClassHelper());
    query.setEntityType(entityType);
    EntitySingleResultHandler<RESULT> handler = new EntitySingleResultHandler<>(
            entityType);
    return execute(handler);
}
 
开发者ID:domaframework,项目名称:doma,代码行数:50,代码来源:SelectBuilder.java

示例10: getOptionalEntitySingleResult

import org.seasar.doma.Entity; //导入依赖的package包/类
/**
 * エンティティのインスタンスを {@link Optional} でラップして1件返します。
 * <p>
 * 検索結果が存在しない場合は {@code Optional}を返しますが、
 * {@link SelectBuilder#ensureResult(boolean)} に {@code true} を設定することで、
 * {@code null}を返す代わりに{@link NoResultException} をスローできます。
 * 
 * @param <RESULT>
 *            エンティティの型
 * @param resultClass
 *            エンティティクラス
 * @return 検索結果
 * @throws DomaNullPointerException
 *             引数が{@code null} の場合
 * @throws DomaIllegalArgumentException
 *             {@code resultClass} がエンティティクラスでない場合
 * @throws UnknownColumnException
 *             結果セットに含まれるカラムにマッピングされたプロパティが見つからなかった場合
 * @throws NoResultException
 *             {@link SelectBuilder#ensureResult(boolean)} に {@code true}
 *             を設定しており結果が存在しない場合
 * @throws ResultMappingException
 *             {@link SelectBuilder#ensureResultMapping(boolean)} に
 *             {@code true} を設定しており、マッピングされないエンティティプロパティが存在する場合
 * @throws NonUniqueResultException
 *             結果が2件以上返された場合
 * @throws JdbcException
 *             上記以外でJDBCに関する例外が発生した場合
 * @since 2.0.0
 */
public <RESULT> Optional<RESULT> getOptionalEntitySingleResult(
        Class<RESULT> resultClass) {
    if (resultClass == null) {
        throw new DomaNullPointerException("resultClass");
    }
    if (!resultClass.isAnnotationPresent(Entity.class)) {
        throw new DomaIllegalArgumentException("resultClass",
                Message.DOMA2219.getMessage(resultClass));
    }
    if (query.getMethodName() == null) {
        query.setCallerMethodName("getOptionalEntitySingleResult");
    }
    EntityType<RESULT> entityType = EntityTypeFactory.getEntityType(
            resultClass, config.getClassHelper());
    query.setEntityType(entityType);
    OptionalEntitySingleResultHandler<RESULT> handler = new OptionalEntitySingleResultHandler<>(
            entityType);
    return execute(handler);
}
 
开发者ID:domaframework,项目名称:doma,代码行数:50,代码来源:SelectBuilder.java

示例11: getEntityResultList

import org.seasar.doma.Entity; //导入依赖的package包/类
/**
 * エンティティの複数件を返します。
 * <p>
 * 検索結果が存在しない場合は空のリストを返します。
 * 
 * @param <ELEMENT>
 *            エンティティ型
 * @param elementClass
 *            エンティティ型のクラス
 * @return 検索結果
 * 
 * @throws DomaNullPointerException
 *             引数が {@code null} の場合
 * @throws DomaIllegalArgumentException
 *             {@code elementClass} がエンティティクラスでない場合
 * @throws UnknownColumnException
 *             結果セットに含まれるカラムにマッピングされたプロパティが見つからなかった場合
 * @throws NoResultException
 *             {@link SelectBuilder#ensureResult(boolean)} に {@code true}
 *             を設定しており結果が存在しない場合
 * @throws ResultMappingException
 *             {@link SelectBuilder#ensureResultMapping(boolean)} に
 *             {@code true} を設定しており、マッピングされないエンティティプロパティが存在する場合
 * @throws JdbcException
 *             上記以外でJDBCに関する例外が発生した場合
 * @since 2.0.0
 */
public <ELEMENT> List<ELEMENT> getEntityResultList(
        Class<ELEMENT> elementClass) {
    if (elementClass == null) {
        throw new DomaNullPointerException("elementClass");
    }
    if (!elementClass.isAnnotationPresent(Entity.class)) {
        throw new DomaIllegalArgumentException("elementClass",
                Message.DOMA2219.getMessage(elementClass));
    }
    if (query.getMethodName() == null) {
        query.setCallerMethodName("getEntityResultList");
    }
    EntityType<ELEMENT> entityType = EntityTypeFactory.getEntityType(
            elementClass, config.getClassHelper());
    query.setEntityType(entityType);
    ResultSetHandler<List<ELEMENT>> handler = new EntityResultListHandler<ELEMENT>(
            entityType);
    return execute(handler);
}
 
开发者ID:domaframework,项目名称:doma,代码行数:47,代码来源:SelectBuilder.java

示例12: isEntity

import org.seasar.doma.Entity; //导入依赖的package包/类
protected boolean isEntity(TypeMirror typeMirror) {
    TypeElement typeElement = TypeMirrorUtil.toTypeElement(typeMirror, env);
    return typeElement != null
            && typeElement.getAnnotation(Entity.class) != null;
}
 
开发者ID:domaframework,项目名称:doma,代码行数:6,代码来源:AbstractQueryMetaFactory.java

示例13: EntityProcessor

import org.seasar.doma.Entity; //导入依赖的package包/类
public EntityProcessor() {
    super(Entity.class);
}
 
开发者ID:domaframework,项目名称:doma,代码行数:4,代码来源:EntityProcessor.java

示例14: streamEntity

import org.seasar.doma.Entity; //导入依赖的package包/类
/**
 * エンティティのストリームを返します。
 * <p>
 * ストリームはアプリケーションでクローズしなければいけません。
 * 
 * @param <TARGET>
 *            エンティティ型
 * @param targetClass
 *            エンティティ型のクラス
 * @return エンティティのストリーム
 * @throws DomaNullPointerException
 *             引数が{@code null} の場合
 * @throws DomaIllegalArgumentException
 *             処理対象のクラスがエンティティ型でない場合
 * @throws JdbcException
 *             JDBCに関する例外が発生した場合
 * @since 2.7.0
 */
public <TARGET> Stream<TARGET> streamEntity(Class<TARGET> targetClass) {
    if (targetClass == null) {
        throw new DomaNullPointerException("targetClass");
    }
    if (!targetClass.isAnnotationPresent(Entity.class)) {
        throw new DomaIllegalArgumentException("targetClass",
                Message.DOMA2219.getMessage(targetClass));
    }
    query.setResultStream(true);
    return streamEntityInternal(targetClass, Function.identity());
}
 
开发者ID:domaframework,项目名称:doma,代码行数:30,代码来源:SelectBuilder.java


注:本文中的org.seasar.doma.Entity类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。