public boolean hasParameterInfoTypes(Class<?>... types) { Objects.requireNonNull(types); if (!hasParameterInfoListSize(types.length)) { return false; } int index = 0; Iterator<ParameterInfo> iterator = parameterInfoList().iterator(); while (iterator.hasNext()) { ParameterInfo parameterInfo = iterator.next(); Class<?> type = types[index++]; if (!parameterInfo.isInfoOf(type)) { return false; } } return true; }
@Override public Contribution execute(PojoInfo pojoInfo) { return pojoInfo.methodInfoStream() .filter(m -> m.hasName("isEqualTo")) .filter(m -> m.hasParameterInfoListSize(1)) .filter(m -> m.hasModifierInfo(ModifierInfo.ABSTRACT)) .findFirst() .map(m -> execute0(pojoInfo)) .orElse(Contribution.empty()); }
private static List<Property> of0(Mode mode, TypeInfo typeInfo) { Naming naming = Naming.of(typeInfo); return typeInfo.methodInfoStream() .filter(m -> m.hasModifierInfo(ModifierInfo.ABSTRACT)) .filter(m -> !m.hasReturnTypeInfo(SimpleTypePrimitives.VOID)) .filter(m -> m.hasParameterInfoListSize(0)) .filter(m -> !m.hasAnnotation(Invalidate.class)) .map(m -> new Property(mode, naming, m)) .collect(MoreCollectors.toImmutableList()); }
private static List<Property> of0(Mode mode, TypeInfo typeInfo) { Naming naming = Naming.of(typeInfo); return typeInfo.methodInfoStream() .filter(m -> m.hasModifierInfo(ModifierInfo.ABSTRACT)) .filter(m -> !m.hasReturnTypeInfo(SimpleTypePrimitives.VOID)) .filter(m -> m.hasParameterInfoListSize(0)) .filter(m -> !m.hasAnnotation(Invalidate.class)) .map(m -> new Property(mode, naming, m)) .collect(MoreCollectors.toImmutableList()); }
if (methodInfo.hasParameterInfoListSize(0)) { methodInfo.compilationError("@Setter method must have parameters"); return Optional.empty(); .collect(Collectors.toMap(SetterParameter::referencedProperty, Function.identity())); if (!methodInfo.hasParameterInfoListSize(parameterMap.size())) { return Optional.empty();