2010-09-01 6 views
28

나는 @inheritDoc이 있다는 것을 알고 있지만 다른 것들을 덮어 쓰는 방법에만 해당됩니다.메소드의 Javadoc를 다른 메소드의 Javadoc에 어떻게 복사 할 수 있습니까?

많은 대리인 메서드가있는 클래스가 있습니다 (이 아닌 다른 메서드보다 우선 함).

Javadoc을 "계승"시킬 수 있습니까?

/** here I need the copy of wrappedMethod's Javadoc */ 
public void delegateMethod(Object param){ 
    innerSomething.wrappedMethod(param); 
} 
+0

오버로드 된 메소드와 밀접하게 관련되어 있지만 특히 : @stackoverflow.com/questions/2558695/javadoc-and-overloaded-methods/28114175#28114175 –

답변

10

@link 또는 @see 태그가 여기에 적합합니다. 메서드를 래핑하는 경우에는 과부하 또는 다른 방식으로 적합하지 않은 고유 한 동작을 제공해야합니다.

+1

예,하지만'@ link' 또는'@ see'는 슬프게도 없습니다. 래핑 된 메서드가 보호 될 때 유용합니다. ( –

+3

) 보호 된 메서드에 대한 javadoc을 생성하지 않으면 ... –

+0

'@ seanizer' 오, 가능하다는 것을 몰랐습니다. 감사합니다. –

8

때로는 실제로 문서를 잘라내어 붙여 넣는 것이 좋습니다. 어떤 방식 으로든 '링크하는'문서는 특히 상속 관계에없는 경우 메서드 중 하나에서 동작이 어떻게 든 변경되어 링크 된 문서가 더 이상 유효하지 않게 될 위험이 있습니다.

그러나 위임자의 경우 동일한 문제가 여러 번 발생했습니다. 일반적으로 주 클래스에 대한 공용 메서드가 패키지 개인 비공개 대리자에 위임됩니다.이 메서드는 주 메서드와 완전히 동일한 동작을합니다. 여기에 해결책은 간단합니다 - 메인 클래스를 문서화하고 델리게이트 클래스에 @link 또는 @see를 넣으십시오. 누구나 메인 클래스의 문서를 볼 수 있습니다. 구현 세부 사항과 같은보다 자세한 문서가 위임 클래스에도 있어야 할 것입니다.

관련 문제