문제
조건을 표현하고 조작하기위한 일부 클래스가 여러 차례 필요했습니다 (일반적으로 UI에서는 사용자가 다른 조건 유형을 결합하여 쿼리를 빌드 한 다음 코드가 쿼리 할 기본 시스템에 따라 Lucene 및 A를 변환 할 수 있습니다. DB). 나는 재사용 가능한 클래스 세트를 온통 검색했는데, 이것이 기존의 많은 장소 (스타터를위한 모든 표현 언어)에서 사용해야한다고 확신하지만 쉽게 사용할 수있는 것을 찾을 수는 없습니다. 나는 두 번 스스로 코딩을하게되었지만 내가 확신하는 것을 재사용하지 않는 것에 대해 기분이 좋지 않았다.
일반적인 요구 사항은 다음과 같습니다. - 여러 연산자 : 및 등 - 가변 수의 피연산자 - 표현식을 만들기 위해 조건을 결합 - 표현식의 직렬화 - 표현/문자열의 구문 분석/형식.
누군가 그런 것을 찾았습니까?
해결책
보세요 Apache Commons Functor. 예를 들어 소포, 단절, unaryor, 내장 구현은 직렬화 할 수 있지만 문자열의 구문 분석에 대해 모른다. 그래도, 나는 그것이 당신이 원하는 것을 향한 아주 좋은 시작이라고 생각합니다. 또한 살펴보십시오 이 IBM 튜토리얼 도서관을 기반으로합니다.
다른 팁
이것은 당신이 최대 절전 모드 기준 API. 단점은 데이터베이스에 연결되어 있거나 특정 지속성 프레임 워크 구현이 악화된다는 것입니다. 또한 모든 요구 사항을 다루는 것은 아니므로 이것이 좋은 선택이라고 생각하지 않습니다 ...
체크 아웃하고 싶을 수도 있습니다 antlr.