DB에서 & 버튼 목록을 가져 오는 간단한 POS 시스템을 개발했습니다. 모든 버튼을 포함하는 표는 버튼을 그리는 데 필요한 모든 정보 (크기, 위치, 라벨, 색상 및 관련 SKU)를 제공합니다.리플렉션 - DB 값에서 호출 할 메소드 및 매개 변수를 결정하십시오.
원래 버전에서는 모든 '기능'버튼이 하드 코딩되어 있습니다 (예 : 숫자 1-9, 지불, 가격 수준 변경, 종료 시프트 등). 더 맞춤 설정할 수있는 디자인으로 이동하려고합니다. 기능 단추는 또한 데이터베이스에 저장할 수 있습니다.
나는 반사를 기반으로 뭔가를하는 것을보고있었습니다. DB에 나타나는 모든 메소드를 포함하는 인터페이스로 작동 할 클래스가 있으며, 그러면 시스템 내의 필요한 메소드를 호출합니다. 그러나 이것을 DB에 매핑하는 방법을 모르겠습니다.
나는 모든 메소드가 부울, int, double 및 char이 혼합 된 0, 1 또는 2 매개 변수를 사용한다는 것을 확신합니다.
나는 내가 좋아하는 뭔가를 넣어 것입니다 판매를 지불 예를 들어 내가 메소드를 호출하는 데 필요한 모든 정보를 결정하기 위해 구문 분석 할 수있는 DB에 대한 표기법을 마련했습니다
paySale[]
고객이 나에게 $ 50를주고 내가 '빠른 현금'버튼을 사용하고자하는 경우 데이터베이스에 있지만, 다음 메서드 호출이 체크
로 지불처럼paySale[d 50]
또는 무언가 좀 더 복잡한 될 것입니다
paySale[i 3, d 50]
여기서 int는 지불 방법 유형 (이 경우 check)이고 double은 총계입니다.
내 문제는 내가 getMethod 메소드를 사용하는 방법을 인출 할 때() 나는 그런 double.class 같이 int.class를, 찾기 위해 매개 변수를 정의하는 방법을 알아낼 수 없다는 것입니다
이있을 것입니다 가격 수준 변경, 교대 종료, 계정/탭 등 지불하는 것과 같은 일을 처리하기 위해 호출해야하는 여러 가지 방법이 있습니다. 이렇게 쉬운 방법이 있다면, 나는 그것에 대해 공개합니다!
다시 한 번 감사드립니다.
class.getMethod(int.class, double.class, String.class)
등과 같은
자바 스크립트 인터프리터가 1.6으로 내장되어 있는지 전혀 몰랐습니다. – itsreeyan
ScriptEngineManager의 제안 된 사용에 대한 대답을 수락합니다. 고마워, 당신은 정말로 그 문제를 단순화했습니다! – itsreeyan