|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.xml.validation.Validator
public abstract class Validator
Schema
와 조합해 XML 문서를 체크하는 프로세서입니다.
발리 데이터 객체는 thread에 대해서 안전하지 않고, 재입 불가능합니다. 즉, 어플리케이션측에서, 어떠한 경우에서도 1 개 Validator
객체가 복수의 thread로부터 사용되는 것이 없게 할 필요가 있습니다. 또,validate
메소드가 불려 가고 있는 동안, 어플리케이션은 재귀적으로 validate
메소드를 호출할 수가 없습니다.
생성자 의 개요 | |
---|---|
protected |
Validator ()
상속 클래스의 생성자 입니다. |
메소드의 개요 | |
---|---|
abstract ErrorHandler |
getErrorHandler ()
이 Validator 로 설정된 현재 ErrorHandler 를 가져옵니다. |
boolean |
getFeature (String name)
기능 플래그의 값을 검색합니다. |
Object |
getProperty (String name)
프로퍼티치를 검색합니다. |
abstract LSResourceResolver |
getResourceResolver ()
이 Validator 로 설정된 현재 LSResourceResolver 를 가져옵니다. |
abstract void |
reset ()
이 Validator 를 원의 설정에 리셋 합니다. |
abstract void |
setErrorHandler (ErrorHandler errorHandler)
validate 메소드의 호출로 발생한 에러를 받도록(듯이) ErrorHandler 를 설정합니다. |
void |
setFeature (String name,
boolean value)
기능 플래그의 값을 설정합니다. |
void |
setProperty (String name,
Object object)
프로퍼티치를 설정합니다. |
abstract void |
setResourceResolver (LSResourceResolver resourceResolver)
검증시의 자원 해결을 커스터마이즈 하도록(듯이) LSResourceResolver 를 설정합니다. |
void |
validate (Source source)
지정된 입력을 검증합니다. |
abstract void |
validate (Source source,
Result result)
지정된 입력을 검증해, 추가된 검증 결과가 지정된 출력에 보냅니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
protected Validator()
이 생성자 은 아무것도 실시하지 않습니다.
상속 클래스에서는,null
ErrorHandler
및 null
LSResourceResolver
Validator
객체를 작성할 필요가 있습니다.
메소드의 상세 |
---|
public abstract void reset()
이 Validator
를 원의 설정에 리셋 합니다.
Validator
는,Schema.newValidator()
로 작성된 시점 상태에 리셋 됩니다. reset()
는, 기존의 Validator
의 재사용을 허가하도록(듯이) 설정되어 있기 (위해)때문에, 새로운 Validator
의 작성에 관련하는 자원을 절약할 수 있습니다.
Validator
를 리셋 했을 경우, 같은 LSResourceResolver
또는 ErrorHandler
Object
를 가지는 것은 보증되지 않습니다. 예를 들어,Object.equals(Object obj)
등입니다. 기능적으로 같은 LSResourceResolver
나 ErrorHandler
를 가지는 것은 보증됩니다.
public void validate(Source source) throws SAXException , IOException
이것은 null
의 result
를 가지는 validate(Source source, Result result)
의 편리한 메소드입니다.
source
- 검증되는 XML. XML 문서 또는
XML 요소인 것이 필요해 null 는 불가. 하위 호환성을 위해서(때문에),
문서와 요소 이외의 모든 검증 결과는
구현에 의존하고 있다.
구현은, 입력을 인식해 처리하는지,
IllegalArgumentException 를 throw 할 필요가 있다
IllegalArgumentException
- Source
하지만 검증을 구현할 수 없는 XML 아티팩트인 경우
(처리 명령 등)
SAXException
- ErrorHandler
가 SAXException
를 throw 했을 경우,
또는 치명적 에러가 검출되고 ErrorHandler
가 정상적으로 복귀했다
경우
IOException
- 발리 데이터가
SAXSource
를 처리중에서,
기본이 되는 XMLReader
가
IOException
를 throw 했을 경우
NullPointerException
- source
가
null
의 경우validate(Source source, Result result)
public abstract void validate(Source source, Result result) throws SAXException , IOException
지정된 입력을 검증해, 추가된 검증 결과가 지정된 출력에 보냅니다.
이 메소드는 받아들이는 Source
/Result
의 형태에 관해서, 다음의 제약을 마련하고 있습니다.
받아들이는 Source / Result |
||||
---|---|---|---|---|
StreamSource |
SAXSource |
DOMSource |
StAXSource |
|
null |
OK | OK | OK | OK |
StreamResult |
OK | IllegalArgumentException |
IllegalArgumentException |
IllegalArgumentException |
SAXResult |
IllegalArgumentException |
OK | IllegalArgumentException |
IllegalArgumentException |
DOMResult |
IllegalArgumentException |
IllegalArgumentException |
OK | IllegalArgumentException |
StAXResult |
IllegalArgumentException |
IllegalArgumentException |
IllegalArgumentException |
OK |
1 개의 Source
를 다른 종류의 Result
에 검증하려면 , 항등변환을 사용합니다 (TransformerFactory.newTransformer()
를 참조).
검증으로 발견된 에러는 지정된 ErrorHandler
에 보내집니다.
문서가 유효하다, 또는 문서에 얼마인가의 에러가 있지만, 그것들은 모두 치명적이지 않고,ErrorHandler
로 예외가 throw되어 있지 않은 경우, 메소드는 정상적으로 복귀합니다.
source
- 검증되는 XML. XML 문서 또는
XML 요소인 것이 필요해 null 는 불가. 하위 호환성을 위해서(때문에),
문서와 요소 이외의 모든 검증 결과는
구현에 의존하고 있다.
구현은, 입력을 인식해 처리하는지,
IllegalArgumentException 를 throw 할 필요가 있는result
- 확장된 가능성이 있는 XML 를 받는 Result
객체. 호출측에서 필요가 없으면, 이 파라미터는 null
도 가능.
DOMResult
가 사용되어 발리 데이터가 DOMSource
로부터 DOMResult
에 같은 DOM 노드를 건네줄 뿐(만큼) 때는 (source.getNode() ==result.getNode()
의 경우), DOM 트리 전체가 카피되는지, 소스로 지정된 노드가 변경되는 일이 있다
IllegalArgumentException
- Result
의 형태가
Source
의 형태와 일치하지 않는 경우, 또는 Source
하지만 검증을 구현할 수 없는 XML 아티팩트인 경우
(처리 명령 등)
SAXException
- ErrorHandler
가
SAXException
를 throw 했을 경우,
또는 치명적 에러가 발견되고 ErrorHandler
가 정상적으로 복귀했다
경우
IOException
- 발리 데이터가
SAXSource
를 처리중에서,
기본이 되는 XMLReader
가
IOException
를 throw 했을 경우
NullPointerException
- source
파라미터가 null
의 경우validate(Source source)
public abstract void setErrorHandler(ErrorHandler errorHandler)
validate
메소드의 호출로 발생한 에러를 받도록(듯이) ErrorHandler
를 설정합니다.
에러 핸들러를 사용해, 검증시의 에러 처리 프로세스를 커스터마이즈 할 수 있습니다. ErrorHandler
를 설정하면(자), 검증으로 발견된 에러는 우선 ErrorHandler
에 보내집니다.
에러 핸들러는 핸들러로부터 SAXException
를 throw 해, 검증을 즉시 중단할 수가 있습니다. 또는, 에러를 화면에 출력하거나ErrorHandler
로부터 정상적으로 돌아와 검증을 속행시키거나 할 수도 있습니다.
Throwable
가 ErrorHandler
로부터 throw 되면(자),validate
메소드의 호출 바탕으로는 같은 Throwable
객체가 throw 됩니다.
Validator
는, 최초로 ErrorHandler
에 보고하지 않으면,SAXException
를 throw 할 수가 없습니다.
ErrorHandler
가 null 의 경우, 구현은 다음 ErrorHandler
가 설정되었는지와 같이 동작합니다.
class DraconianErrorHandler implementsErrorHandler
{ public void fatalError(SAXParseException
e ) throwsSAXException
{ throw e; } public void error(SAXParseException
e ) throwsSAXException
{ throw e; } public void warning(SAXParseException
e ) throwsSAXException
{ // noop } }
새로운 Validator
객체가 작성되면(자), 최초로 이 필드는 null 로 설정됩니다.
errorHandler
- 설정하는 새로운 에러 핸들러. 이 파라미터는 null 도 가능public abstract ErrorHandler getErrorHandler()
Validator
로 설정된 현재 ErrorHandler
를 가져옵니다.
setErrorHandler(ErrorHandler)
메소드에 의해
마지막에 설정된 객체를 돌려준다. 또는,
이 Validator
가 작성되고 나서,
그 메소드가 불려 가지 않은 경우는 null 를 돌려주는setErrorHandler(ErrorHandler)
public abstract void setResourceResolver(LSResourceResolver resourceResolver)
LSResourceResolver
를 설정합니다.
Validator
는, 검증중에 외부 자원의 장소를 확인할 필요가 있을 때 LSResourceResolver
를 사용합니다만, 「외부 자원의 검색」을 엄밀하게 구성하는 것은 schema 언어에 의해 다릅니다.
LSResourceResolver
가 null 의 경우, 구현은 다음 LSResourceResolver
가 설정되었는지와 같이 동작합니다.
class DumbLSResourceResolver implementsLSResourceResolver
{ publicLSInput
resolveResource( String publicId, String systemId, String baseURI) { return null; // always return null } }
LSResourceResolver
가 RuntimeException
(또는 그 상속 클래스의 인스턴스)를 throw 하면(자),Validator
는 구문 분석을 이상종료(ABEND) 해,validate
메소드의 호출원래는 같은 RuntimeException
를 받습니다.
새로운 Validator
객체가 작성되면(자), 최초로 이 필드는 null 로 설정됩니다.
resourceResolver
- 설정하는 새로운 자원 리절버. 이 파라미터는 null 도 가능public abstract LSResourceResolver getResourceResolver()
Validator
로 설정된 현재 LSResourceResolver
를 가져옵니다.
setResourceResolver(LSResourceResolver)
메소드에 의해
마지막에 설정된 객체를 돌려준다. 또는,
이 Validator
가 작성되고 나서,
그 메소드가 불려 가지 않은 경우는 null 를 돌려주는setErrorHandler(ErrorHandler)
public boolean getFeature(String name) throws SAXNotRecognizedException , SAXNotSupportedException
기능명은 완전 수식 URI 입니다. Validator
는 기능명을 인식할 수 있습니다만, 일시적으로 그 값을 돌려줄 수 없습니다. 기능의 값에 따라서는, 검증의 실행전, 실행중, 실행 후등의 특정의 문맥으로 밖에 사용할 수 없는 경우가 있습니다.
독자적인 URI 에 근거해 작성된 이름을 사용해, 구현자가 독자적인 기능을 작성할 수도 있습니다 (추천).
name
- 기능명. null 이외의 완전 수식 URI 로 나타내진다
SAXNotRecognizedException
- 기능치를 할당할 수 없는,
또는 취득할 수 없는 경우
SAXNotSupportedException
- Validator
가
기능명을 인식하는 것만으로,
현시점에서는 그 값을 판단할 수 없는 경우
NullPointerException
- name 파라미터가 null 의 경우setFeature(String, boolean)
public void setFeature(String name, boolean value) throws SAXNotRecognizedException , SAXNotSupportedException
기능을 사용해,Validator
가 schema를 구문 분석 하는 방법을 제어할 수 있습니다만,Validator
는 특정의 기능명을 인식할 필요는 없습니다.
기능명은 완전 수식 URI 입니다. Validator
는 기능의 값을 표시할 수 있습니다만, 현재의 값을 변경할 수 없습니다. 기능의 값에 따라서는, 검증의 실행전, 실행중, 실행 후등의 특정의 문맥에서만 불변 또는 가변인 경우가 있습니다.
name
- 기능명. null 이외의 완전 수식 URI 로 나타내지는value
- 기능의 요구된 값 (true 또는 false)
SAXNotRecognizedException
- 기능치를 할당할 수 없는,
또는 취득할 수 없는 경우
SAXNotSupportedException
- Validator
가
기능명을 인식하는 것만으로,
요구된 값을 설정할 수 없는 경우
NullPointerException
- name 파라미터가 null 의 경우getFeature(String)
public void setProperty(String name, Object object) throws SAXNotRecognizedException , SAXNotSupportedException
프로퍼티명은 완전 수식 URI 입니다. Validator
는 프로퍼티명을 인식할 수 있습니다만, 현재의 값을 변경할 수 없습니다. 프로퍼티의 값에 따라서는, 검증의 실행전, 실행중, 실행 후등의 특정의 문맥에서만 불변 또는 가변인 경우가 있습니다.
Validator
는 특정의 프로퍼티명의 설정을 인식할 필요는 없습니다.
name
- 프로퍼티명. null 이외의 완전 수식 URI 로 나타내지는object
- 요구된 프로퍼티치
SAXNotRecognizedException
- 프로퍼티의 값을 할당할 수 없는,
또는 취득할 수 없는 경우
SAXNotSupportedException
- Validator
가
프로퍼티명을 인식하는 것만으로,
요구된 값을 설정할 수 없는 경우
NullPointerException
- name 파라미터가 null 의 경우public Object getProperty(String name) throws SAXNotRecognizedException , SAXNotSupportedException
프로퍼티명은 완전 수식 URI 입니다. Validator
는 프로퍼티명을 인식할 수 있습니다만, 일시적으로 그 값을 돌려줄 수 없습니다. 프로퍼티의 값에 따라서는, 검증의 실행전, 실행중, 실행 후등의 특정의 문맥으로 밖에 사용할 수 없는 경우가 있습니다.
Validator
는 특정의 프로퍼티명을 인식할 필요는 없습니다.
독자적인 URI 에 근거해 작성된 이름을 사용해, 구현자가 독자적인 프로퍼티을 작성할 수도 있습니다 (추천).
name
- 프로퍼티명. null 이외의 완전 수식 URI 로 나타내진다
SAXNotRecognizedException
- 프로퍼티의 값을 할당할 수 없는,
또는 취득할 수 없는 경우
SAXNotSupportedException
- XMLReader 가
하지만 프로퍼티명을 인식하는 것만으로,
현시점에서는 그 값을 판단할 수 없는 경우
NullPointerException
- name 파라미터가 null 의 경우setProperty(String, Object)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.