Skip to content

Commit c9d3e98

Browse files
committed
refactor(cosid-core): optimize annotation definition parsing logic
- Streamline the logic for parsing CosId annotations - Improve readability and reduce redundancy in the parse method - Enhance performance by minimizing annotation lookups
1 parent 68fd4ce commit c9d3e98

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

cosid-core/src/main/java/me/ahoo/cosid/annotation/AnnotationDefinitionParser.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,25 +35,22 @@ public class AnnotationDefinitionParser implements FieldDefinitionParser {
3535

3636
@Override
3737
public IdDefinition parse(List<Class<?>> lookupClassList, Field field) {
38-
38+
CosId fieldCosId = field.getAnnotation(CosId.class);
39+
if (null != fieldCosId) {
40+
return new IdDefinition(fieldCosId.value(), field);
41+
}
3942
Optional<CosId> clazzCosIdOp = lookupClassList
4043
.stream()
4144
.filter(clazz -> clazz.isAnnotationPresent(CosId.class))
4245
.map(clazz -> clazz.getAnnotation(CosId.class))
4346
.findFirst();
44-
45-
if (clazzCosIdOp.isPresent()) {
46-
CosId clazzCosId = clazzCosIdOp.get();
47-
if (!field.getName().equals(clazzCosId.field())) {
48-
return IdDefinition.NOT_FOUND;
49-
}
50-
return new IdDefinition(clazzCosId.value(), field);
47+
if (clazzCosIdOp.isEmpty()) {
48+
return IdDefinition.NOT_FOUND;
5149
}
52-
53-
CosId fieldCosId = field.getAnnotation(CosId.class);
54-
if (null == fieldCosId) {
50+
CosId clazzCosId = clazzCosIdOp.get();
51+
if (!field.getName().equals(clazzCosId.field())) {
5552
return IdDefinition.NOT_FOUND;
5653
}
57-
return new IdDefinition(fieldCosId.value(), field);
54+
return new IdDefinition(clazzCosId.value(), field);
5855
}
5956
}

0 commit comments

Comments
 (0)