public static <T extends JApiModifierBase> JApiModifier<T> extractModifierFromField(Optional<CtField> oldFieldOptional, Optional<CtField> newFieldOptional, ExtractModifierFromFieldCallback<T> callback) { if (oldFieldOptional.isPresent() && newFieldOptional.isPresent()) { CtField oldField = oldFieldOptional.get(); CtField newField = newFieldOptional.get(); T oldFieldModifier = callback.getModifierForOld(oldField); T newFieldModifier = callback.getModifierForNew(newField); if (oldFieldModifier != newFieldModifier) { return new JApiModifier<>(Optional.of(oldFieldModifier), Optional.of(newFieldModifier), JApiChangeStatus.MODIFIED); } else { return new JApiModifier<>(Optional.of(oldFieldModifier), Optional.of(newFieldModifier), JApiChangeStatus.UNCHANGED); } } else { if (oldFieldOptional.isPresent()) { CtField oldField = oldFieldOptional.get(); T oldFieldModifier = callback.getModifierForOld(oldField); return new JApiModifier<>(Optional.of(oldFieldModifier), Optional.<T>absent(), JApiChangeStatus.REMOVED); } if (newFieldOptional.isPresent()) { CtField newField = newFieldOptional.get(); T newFieldModifier = callback.getModifierForNew(newField); return new JApiModifier<>(Optional.<T>absent(), Optional.of(newFieldModifier), JApiChangeStatus.NEW); } } return new JApiModifier<>(Optional.<T>absent(), Optional.<T>absent(), JApiChangeStatus.UNCHANGED); }
public static <T extends JApiModifierBase> JApiModifier<T> extractModifierFromField(Optional<CtField> oldFieldOptional, Optional<CtField> newFieldOptional, ExtractModifierFromFieldCallback<T> callback) { if (oldFieldOptional.isPresent() && newFieldOptional.isPresent()) { CtField oldField = oldFieldOptional.get(); CtField newField = newFieldOptional.get(); T oldFieldModifier = callback.getModifierForOld(oldField); T newFieldModifier = callback.getModifierForNew(newField); if (oldFieldModifier != newFieldModifier) { return new JApiModifier<>(Optional.of(oldFieldModifier), Optional.of(newFieldModifier), JApiChangeStatus.MODIFIED); } else { return new JApiModifier<>(Optional.of(oldFieldModifier), Optional.of(newFieldModifier), JApiChangeStatus.UNCHANGED); } } else { if (oldFieldOptional.isPresent()) { CtField oldField = oldFieldOptional.get(); T oldFieldModifier = callback.getModifierForOld(oldField); return new JApiModifier<>(Optional.of(oldFieldModifier), Optional.<T>absent(), JApiChangeStatus.REMOVED); } if (newFieldOptional.isPresent()) { CtField newField = newFieldOptional.get(); T newFieldModifier = callback.getModifierForNew(newField); return new JApiModifier<>(Optional.<T>absent(), Optional.of(newFieldModifier), JApiChangeStatus.NEW); } } return new JApiModifier<>(Optional.<T>absent(), Optional.<T>absent(), JApiChangeStatus.UNCHANGED); }