support extends SQLProvider

This commit is contained in:
Timi
2025-11-06 14:10:53 +08:00
parent 4de03cf60a
commit 2e67e4086d

View File

@ -272,7 +272,7 @@ public class SQLProvider {
* @param context 代理器上下文
* @return 实体类元数据
*/
private EntityMeta getEntityMeta(ProviderContext context) {
protected EntityMeta getEntityMeta(ProviderContext context) {
Type[] types = context.getMapperType().getGenericInterfaces();
ParameterizedType type = (ParameterizedType) types[0];
Class<?> entityClass = (Class<?>) type.getActualTypeArguments()[0];
@ -285,7 +285,7 @@ public class SQLProvider {
* @param entityClass 实体类
* @return 元数据
*/
private EntityMeta getEntityMeta(Class<?> entityClass) {
protected EntityMeta getEntityMeta(Class<?> entityClass) {
return ENTITY_META_CACHE.computeIfAbsent(entityClass, EntityMeta::new);
}
@ -295,7 +295,7 @@ public class SQLProvider {
* @author 夜雨
* @since 2025-02-05 23:47
*/
private static class EntityMeta {
protected static class EntityMeta {
/** 实体类 */
final Class<?> entityClass;
@ -375,6 +375,42 @@ public class SQLProvider {
canDelete = Deletable.class.isAssignableFrom(entityClass);
canDestroy = Destroyable.class.isAssignableFrom(entityClass);
}
public Class<?> getEntityClass() {
return entityClass;
}
public String getTable() {
return table;
}
public String getSelectAllClause() {
return selectAllClause;
}
public FieldColumn getIdFieldColumn() {
return idFieldColumn;
}
public List<FieldColumn> getFieldColumnList() {
return fieldColumnList;
}
public boolean canCreate() {
return canCreate;
}
public boolean canUpdate() {
return canUpdate;
}
public boolean canDelete() {
return canDelete;
}
public boolean canDestroy() {
return canDestroy;
}
}
/**
@ -383,7 +419,7 @@ public class SQLProvider {
* @author 夜雨
* @since 2025-02-07 09:54
*/
private static class FieldColumn {
protected static class FieldColumn {
/** 字段 */
final Field field;
@ -421,5 +457,29 @@ public class SQLProvider {
isAutoUpperUUID = false;
}
}
public Field getField() {
return field;
}
public String getFieldName() {
return fieldName;
}
public String getColumnName() {
return columnName;
}
public boolean isId() {
return isId;
}
public boolean isAutoUUID() {
return isAutoUUID;
}
public boolean isAutoUpperUUID() {
return isAutoUpperUUID;
}
}
}