2012-07-25 2 views
-1

두 개의 다른 인수 유형 (예 : setSource(InputStream)setSource(TargetDataLine))에 대해 두 개의 버전이있는 setSource() 설정기를 가질 수 있습니까?다른 유형의 한 필드에 대한 Javabeans 규칙?

내부적으로 나는 Object 필드의 값을 유지하고 RTTI를 기반으로 처리를 처리하지만 Spring과 같은 bean-realted 라이브러리가 이러한 설정자를 정상적으로 받아 들일 수 있을지 궁금합니다. 나는. 하나의 빈 필드에 다른 유형의 값을 넣을 수 있습니까?

+0

시험해 보셨습니까? 어떻게 된 거예요? –

+0

나는 큰 두뇌를 당신에게 말하지 않는다 :) –

답변

2

이것은 실제로 옳은 것처럼 보입니다. getSource()은 무엇을 반환합니까? Object? 그렇다면 setSource()Object을 허용하는 것이 좋습니다.

분명히 너무 일반적인 것처럼 보이며이 문제가 모델링이 잘못되었음을 나타내며 다른 소스 유형을 처리하는 두 개의 특수 하위 클래스가 필요하다고 생각됩니다.

오류가 발생하지 않았고 명시 적으로 올바른 유형의 setStreamSource()/setTargetDataLineSource()을 사용하고 둘 중 하나의 설정을 시행하십시오 (그러나 전문화는 아직 진행 방법이라고 생각합니다).

+0

예 나는 문제와 가능한 해결책을 포함해서 당신을 절대적으로 좋아한다고 생각한다. 그러나 문제는 "만약에"입니다. 작동할까요? 추신 나쁜 디자인은 내 것이 아니지만 Sun/Oracle은 관련없는 유사한 유형을 수행 한 이래로. –

+0

만약? 나는 (Javabeans가 * convention *이기 때문에) 구현에 따라 달라질 것이라고 생각한다. –

+0

이것은 콩 아이디어가 다형성을 손상 시킨다는 것을 의미한다 :) –

관련 문제