문제

조건을 표현하고 조작하기위한 일부 클래스가 여러 차례 필요했습니다 (일반적으로 UI에서는 사용자가 다른 조건 유형을 결합하여 쿼리를 빌드 한 다음 코드가 쿼리 할 기본 시스템에 따라 Lucene 및 A를 변환 할 수 있습니다. DB). 나는 재사용 가능한 클래스 세트를 온통 검색했는데, 이것이 기존의 많은 장소 (스타터를위한 모든 표현 언어)에서 사용해야한다고 확신하지만 쉽게 사용할 수있는 것을 찾을 수는 없습니다. 나는 두 번 스스로 코딩을하게되었지만 내가 확신하는 것을 재사용하지 않는 것에 대해 기분이 좋지 않았다.

일반적인 요구 사항은 다음과 같습니다. - 여러 연산자 : 및 등 - 가변 수의 피연산자 - 표현식을 만들기 위해 조건을 결합 - 표현식의 직렬화 - 표현/문자열의 구문 분석/형식.

누군가 그런 것을 찾았습니까?

도움이 되었습니까?

해결책

보세요 Apache Commons Functor. 예를 들어 소포, 단절, unaryor, 내장 구현은 직렬화 할 수 있지만 문자열의 구문 분석에 대해 모른다. 그래도, 나는 그것이 당신이 원하는 것을 향한 아주 좋은 시작이라고 생각합니다. 또한 살펴보십시오 이 IBM 튜토리얼 도서관을 기반으로합니다.

다른 팁

당신이 찾고있는 것처럼 들립니다 함수 (일명 기능 객체). 그렇다면이 그래서 질문 관련이있을 것입니다, Wrt. 선택 : Commons Functor (이미 언급)는 하나의 대안이지만 다른 대안도 있습니다.

모든 functor libs에는 프레임 워크 (매우 간단합니다. 단순한, 이진 사전 계산서, 이들을위한 매핑 기능, 체인으로 결합) 및 가장 일반적으로 필요한 기본 기능 세트가 함께 제공됩니다.

이것은 당신이 최대 절전 모드 기준 API. 단점은 데이터베이스에 연결되어 있거나 특정 지속성 프레임 워크 구현이 악화된다는 것입니다. 또한 모든 요구 사항을 다루는 것은 아니므로 이것이 좋은 선택이라고 생각하지 않습니다 ...

체크 아웃하고 싶을 수도 있습니다 antlr.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top