Class NameClassPair

Class NameClassPair

public class NameClassPair
extends Object
implements Serializable

컨텍스트에서 발견된 바인딩(binding)의 객체 이름·클래스 이름 쌍을 나타내는 클래스예요. 컨텍스트는 이름에서 객체로의 바인딩들로 구성돼요. NameClassPair 클래스는 바인딩된 객체의 이름과 클래스를 나타내요. 이름과 패키지로 한정된 클래스 이름을 나타내는 문자열로 구성돼요. 이름/클래스 쌍의 내용을 동적으로 생성하는 네이밍 시스템에는 하위 클래스를 사용해요. NameClassPair 인스턴스는 여러 스레드의 동시 접근에 대해 동기화되지 않아요. NameClassPair에 동시에 접근해야 하는 스레드들은 서로 동기화하고 필요한 잠금을 제공해야 해요.

NameClassPair

public NameClassPair(String name,
 String className)

이름과 클래스 이름이 주어졌을 때 NameClassPair의 인스턴스를 생성해요.

  • Parameters: name - 객체의, null이 아닌 이름. 대상 컨텍스트에 상대적이에요(list() 메서드의 첫 번째 매개변수가 이름 붙이는 컨텍스트)
  • See Also: getClassName(), setClassName(java.lang.String), getName(), setName(java.lang.String)

NameClassPair

public NameClassPair(String name,
 String className,
 boolean isRelative)

이름, 클래스 이름, 그리고 나열(listing) 컨텍스트에 상대적인지 여부가 주어졌을 때 NameClassPair의 인스턴스를 생성해요.

  • Parameters: name - 객체의, null이 아닌 이름
  • See Also: getClassName(), setClassName(java.lang.String), getName(), setName(java.lang.String), isRelative(), setRelative(boolean)

getClassName

public String getClassName()

이 바인딩의 이름에 바인딩된 객체의 클래스 이름을 가져와요. 참조나 그 밖의 간접 정보가 바인딩되어 있으면 Binding.getObject()가 결국 반환할 객체의 클래스 이름을 가져와요.

  • Returns: 바인딩된 객체의, null일 수 있는 클래스 이름. 바인딩된 객체가 null이면 null
  • See Also: Binding.getObject(), Binding.getClassName(), setClassName(java.lang.String)

getName

public String getName()

이 바인딩의 이름을 가져와요. isRelative()가 true이면 이 이름은 대상 컨텍스트에 상대적이에요(list()의 첫 번째 매개변수가 이름 붙이는 컨텍스트). isRelative()가 false이면 이 이름은 URL 문자열이에요.

  • Returns: 이 바인딩의, null이 아닌 이름
  • See Also: isRelative(), setName(java.lang.String)

setName

public void setName(String name)

이 바인딩의 이름을 설정해요.

  • Parameters: name - 이름으로 사용할, null이 아닌 문자열
  • See Also: getName(), setRelative(boolean)

setClassName

public void setClassName(String name)

이 바인딩의 클래스 이름을 설정해요.

  • Parameters: name - 클래스 이름으로 사용할, null일 수 있는 문자열. null이면 Binding.getClassName()이 바인딩 안의 객체의 실제 클래스 이름을 반환할 거예요. 바인딩된 객체가 null이면 클래스 이름은 null이 될 거예요
  • See Also: getClassName(), Binding.getClassName()

isRelative

public boolean isRelative()

이 바인딩의 이름이 대상 컨텍스트에 상대적인지 결정해요(list() 메서드의 첫 번째 매개변수가 이름 붙이는 컨텍스트).

  • Returns: 이 바인딩의 이름이 대상 컨텍스트에 상대적이면 true; 이 바인딩의 이름이 URL 문자열이면 false
  • See Also: setRelative(boolean), getName()

setRelative

public void setRelative(boolean r)

이 바인딩의 이름이 대상 컨텍스트에 상대적인지 설정해요(list() 메서드의 첫 번째 매개변수가 이름 붙이는 컨텍스트).

  • Parameters: r - true이면 바인딩의 이름이 대상 컨텍스트에 상대적이고, false이면 바인딩의 이름이 URL 문자열
  • See Also: isRelative(), setName(java.lang.String)

getNameInNamespace

public String getNameInNamespace()

이 바인딩의 전체 이름(full name)을 가져와요. 전체 이름은 이 바인딩이 속한 네임스페이스 안에서의 절대 이름이에요. Context.getNameInNamespace()를 참조하세요. 전체 이름이라는 개념이 이 바인딩에 적용되지 않는 네이밍 시스템에서는 UnsupportedOperationException이 던져져요. 이 예외는 메서드 도입 전에 작성된 서비스 공급자를 사용할 때도 던져져요. 이 메서드가 반환하는 문자열은 JNDI 합성 이름(composite name)이 아니며 컨텍스트 메서드에 직접 전달해서는 안 돼요.

  • Returns: 이 바인딩의 전체 이름
  • Throws: UnsupportedOperationException - 전체 이름이라는 개념이 네이밍 시스템에서 이 바인딩에 적용되지 않을 때
  • Since: 1.5
  • See Also: setNameInNamespace(java.lang.String), getName()

setNameInNamespace

public void setNameInNamespace(String fullName)

이 바인딩의 전체 이름을 설정해요. 이 메서드는 NameClassPair가 생성되고 전체 이름이 이 바인딩에 적용될 때마다 호출되어 전체 이름을 설정해야 해요. 전체 이름을 null로 설정하거나 아예 설정하지 않으면 getNameInNamespace()가 예외를 던지게 해요.

  • Parameters: fullName - 사용할 전체 이름
  • Since: 1.5
  • See Also: getNameInNamespace(), setName(java.lang.String)

toString

public String toString()

이 이름/클래스 쌍의 문자열 표현을 생성해요. 문자열 표현은 콜론(':')으로 구분된 이름과 클래스 이름으로 구성돼요. 이 문자열의 내용은 디버깅에 유용하며 프로그래밍 방식으로 해석하도록 만들어진 것이 아니에요.

  • Overrides: Object 클래스의 toString
  • Returns: 이 이름/클래스 쌍의 문자열 표현