Class NamingException
Class NamingException
public class NamingException
extends Exception
Context와 DirContext 인터페이스의 연산이 던지는 모든 예외의 상위 클래스예요. 실패의 성격은 하위 클래스의 이름으로 설명돼요. 이 예외는 연산이 어디서 실패했는지, 예를 들어 해석(resolution)이 마지막으로 어디까지 진행되었는지 집어내는 정보를 포착해요.
- 해석 이름(Resolved Name). 해석된 이름의 일부.
- 해석 객체(Resolved Object). 이름의 해석이 진행된 객체.
- 나머지 이름(Remaining Name). 해석되지 않은 이름의 일부.
- 설명(Explanation). 이름 해석이 왜 실패했는지 설명하는 세부 정보.
- 근본 예외(Root Exception). 이 네이밍 예외가 던져지게 한 예외.
이 필드들 중 어느 것이든 null은 허용되는 값이에요. null이면 그 필드에 대해 그런 정보가 기록되지 않았음을 의미해요. NamingException 인스턴스는 동시 다중 스레드 접근에 대해 동기화되지 않아요. 단일 NamingException 인스턴스에 접근·수정하려는 여러 스레드는 객체를 잠가야 해요. 이 예외는 일반적인 목적의 예외 연결(exception-chaining) 메커니즘에 부합하도록 개조되었어요. 근본 예외(또는 근본 원인)는 Throwable.getCause() 메서드가 반환하는 cause와 같은 객체예요.
resolvedName
protected Name resolvedName
성공적으로 해석된 이름의 일부를 담아요. 복합 이름(composite name)이고 null일 수 있어요. 이 필드는 생성자에 의해 초기화돼요. 이 필드에는 get/set 메서드로 접근·조작해야 해요.
- See Also: getResolvedName(), setResolvedName(javax.naming.Name)
resolvedObj
protected Object resolvedObj
이름의 일부 해석이 성공한 객체를 담아요. null일 수 있어요. 이 필드는 생성자에 의해 초기화돼요. 이 필드에는 get/set 메서드로 접근·조작해야 해요.
- See Also: getResolvedObj(), setResolvedObj(java.lang.Object)
remainingName
protected Name remainingName
아직 해석되지 않은 나머지 이름을 담아요. 복합 이름이고 null일 수 있어요. 이 필드는 생성자에 의해 초기화돼요. 이 필드에는 get/set/"append" 메서드로 접근·조작해야 해요.
- See Also: getRemainingName(), setRemainingName(javax.naming.Name), appendRemainingName(javax.naming.Name), appendRemainingComponent(java.lang.String)
rootException
protected Throwable rootException
이 NamingException이 던져지게 한 원래 예외를 담아요. 이 필드는 원래 예외에서 얻을 수 있는 추가 정보가 있거나, 원래 예외를 NamingException의 하위 클래스로 매핑할 수 없을 때 설정돼요. null일 수 있어요. 이 필드는 일반적인 목적의 예외 연결 기능보다 먼저 생겼어요. 이제는 initCause(Throwable)와 getCause() 메서드가 이 정보에 접근하는 선호되는 수단이에요.
- See Also: getRootCause(), setRootCause(Throwable), initCause(Throwable), getCause()
NamingException
public NamingException(String explanation)
설명(explanation)을 가진 새 NamingException을 생성해요. 지정되지 않은 모든 필드는 null로 설정돼요.
- Parameters: explanation - 이 예외에 대한 추가 세부 정보를 담은, null일 수 있는 문자열
- See Also: Throwable.getMessage()
NamingException
public NamingException()
새 NamingException을 생성해요. 모든 필드는 null로 설정돼요.
getResolvedName
public Name getResolvedName()
성공적으로 해석된 이름의 선두 부분을 가져와요.
- Returns: 성공적으로 해석된 이름의 일부. 복합 이름이에요. null일 수 있으며, 이는 해석 이름 필드가 설정되지 않았음을 의미해요
- See Also: getResolvedObj(), setResolvedName(javax.naming.Name)
getRemainingName
public Name getRemainingName()
이름의 남은 미해석 부분을 가져와요.
- Returns: 해석되지 않은 이름의 일부. 복합 이름이에요. null일 수 있으며, 이는 나머지 이름 필드가 설정되지 않았음을 의미해요
- See Also: setRemainingName(javax.naming.Name), appendRemainingName(javax.naming.Name), appendRemainingComponent(java.lang.String)
getResolvedObj
public Object getResolvedObj()
해석이 성공한 객체를 가져와요. 해석된 이름이 바인딩된 객체예요.
- Returns: 지금까지 해석된, null일 수 있는 객체. null이면 해석 객체 필드가 설정되지 않았음을 의미해요
- See Also: getResolvedName(), setResolvedObj(java.lang.Object)
getExplanation
public String getExplanation()
이 예외와 연관된 설명을 가져와요.
- Returns: 이 예외에 대해 더 설명하는, null일 수 있는 세부 문자열. null이면 이 예외에 대한 세부 메시지가 없다는 뜻
- See Also: Throwable.getMessage()
setResolvedName
public void setResolvedName(Name name)
이 예외의 해석 이름 필드를 설정해요. name은 복합 이름이에요. 이 필드를 복합 이름(compound name)이나 문자열로 설정하려면 복합 이름을 "문자열화(stringify)"하고 그 문자열로 단일 구성 요소를 가진 복합 이름을 만들어야 해요. 그런 다음 결과 복합 이름으로 이 메서드를 호출할 수 있어요. name의 복사본이 만들어지고 저장돼요. 이후의 name 변경은 이 NamingException 안의 복사본에 영향을 주지 않고 그 반대도 마찬가지예요.
- Parameters: name - 해석 이름으로 설정할, null일 수 있는 이름. null이면 해석 이름 필드를 null로 설정
- See Also: getResolvedName()
setRemainingName
public void setRemainingName(Name name)
이 예외의 나머지 이름 필드를 설정해요. name은 복합 이름이에요. 이 필드를 복합 이름이나 문자열로 설정하려면 복합 이름을 "문자열화"하고 그 문자열로 단일 구성 요소를 가진 복합 이름을 만들어야 해요. 그런 다음 결과 복합 이름으로 이 메서드를 호출할 수 있어요. name의 복사본이 만들어지고 저장돼요. 이후의 name 변경은 이 NamingException 안의 복사본에 영향을 주지 않고 그 반대도 마찬가지예요.
- Parameters: name - 나머지 이름으로 설정할, null일 수 있는 이름. null이면 나머지 이름 필드를 null로 설정
- See Also: getRemainingName(), appendRemainingName(javax.naming.Name), appendRemainingComponent(java.lang.String)
setResolvedObj
public void setResolvedObj(Object obj)
이 예외의 해석 객체 필드를 설정해요.
- Parameters: obj - 해석 객체로 설정할, null일 수 있는 객체. null이면 해석 객체 필드를 null로 설정
- See Also: getResolvedObj()
appendRemainingComponent
public void appendRemainingComponent(String name)
name을 나머지 이름의 마지막 구성 요소로 추가해요.
- Parameters: name - 추가할 구성 요소. name이 null이면 이 메서드는 아무것도 하지 않아요
- See Also: setRemainingName(javax.naming.Name), getRemainingName(), appendRemainingName(javax.naming.Name)
appendRemainingName
public void appendRemainingName(Name name)
'name'의 구성 요소를 나머지 이름의 마지막 구성 요소로 추가해요. name은 복합 이름이에요. 복합 이름(compound name)을 추가하려면 복합 이름을 "문자열화"한 다음 String 매개변수를 받아들이는 오버로드된 형태를 호출해야 해요. 이후의 name 변경은 이 NamingException 안의 나머지 이름 필드에 영향을 주지 않고 그 반대도 마찬가지예요.
- Parameters: name - 추가할 정렬된 구성 요소를 담은, null일 수 있는 이름. name이 null이면 이 메서드는 아무것도 하지 않아요
- See Also: setRemainingName(javax.naming.Name), getRemainingName(), appendRemainingComponent(java.lang.String)
getRootCause
public Throwable getRootCause()
이 NamingException의 근본 원인(root cause)이 있으면 가져와요. 네이밍 예외의 근본 원인은 서비스 공급자가 호출자에게 네이밍과 무관한 예외를 나타내면서, 동시에 네이밍 연산이 얼마나 진행되었는지 나타내기 위해 NamingException 구조를 사용하고 싶을 때 사용돼요. 이 메서드는 일반적인 목적의 예외 연결 기능보다 먼저 생겼어요. 이제는 getCause() 메서드가 이 정보를 얻는 선호되는 수단이에요.
- Returns: 이 네이밍 예외를 일으킨, null일 수 있는 예외. null이면 이 네이밍 예외에 대한 근본 원인이 설정되지 않았다는 뜻
- See Also: setRootCause(java.lang.Throwable), rootException, getCause()
setRootCause
public void setRootCause(Throwable e)
이 NamingException의 근본 원인을 기록해요. e가 this이면 이 메서드는 아무것도 하지 않아요. 이 메서드는 일반적인 목적의 예외 연결 기능보다 먼저 생겼어요. 이제는 initCause(Throwable) 메서드가 이 정보를 기록하는 선호되는 수단이에요.
- Parameters: e - 네이밍 연산이 실패하게 한, null일 수 있는 예외. null이면 이 네이밍 예외에 근본 원인이 없다는 뜻
- See Also: getRootCause(), rootException, initCause(java.lang.Throwable)
getCause
public Throwable getCause()
이 예외의 원인을 반환해요. 원인은 이 네이밍 예외가 던져지게 한 throwable이에요. 원인이 없거나 알 수 없으면 null을 반환해요.
- Overrides:
Throwable클래스의getCause - Returns: 이 예외의 원인, 또는 원인이 없거나 알 수 없으면 null
- Since: 1.4
- See Also: initCause(Throwable)
initCause
public Throwable initCause(Throwable cause)
이 예외의 원인을 지정된 값으로 초기화해요. 원인은 이 네이밍 예외가 던져지게 한 throwable이에요. 이 메서드는 최대 한 번 호출될 수 있어요.
- Overrides:
Throwable클래스의initCause - Parameters: cause -
getCause()메서드가 나중에 검색하도록 저장된 원인. null 값은 원인이 없거나 알 수 없음을 나타내요 - Returns: 이
NamingException인스턴스에 대한 참조 - Throws: IllegalArgumentException - cause가 이 예외일 때. (throwable은 자기 자신의 원인이 될 수 없어요)
- Since: 1.4
- See Also: getCause()
toString
public String toString()
이 예외의 문자열 표현을 생성해요. 문자열 표현은 이 예외의 클래스 이름, 상세 메시지, 근본 원인이 있으면 근본 원인 예외의 문자열 표현, 그리고 (null이 아니면) 나머지 이름으로 구성돼요. 이 문자열은 디버깅용이며 프로그래밍 방식으로 해석하도록 만들어진 것이 아니에요.
- Overrides:
Throwable클래스의toString - Returns: 이 예외의 문자열 표현을 담은, null이 아닌 문자열
toString
public String toString(boolean detail)
더 상세한 문자열 표현을 생성해요. 이 문자열 표현은 매개변수를 받지 않는 toString()이 반환하는 정보와 (null이 아니면) 해석 객체의 문자열 표현으로 구성돼요. 이 문자열은 디버깅용이며 프로그래밍 방식으로 해석하도록 만들어진 것이 아니에요.
- Parameters: detail - true이면 다른 정보에 더해 해석 객체에 대한 세부 정보를 포함
- Returns: 문자열 표현을 담은, null이 아닌 문자열