|
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(SAXParseExceptione ) throwsSAXException{ throw e; } public void error(SAXParseExceptione ) throwsSAXException{ throw e; } public void warning(SAXParseExceptione ) 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{ publicLSInputresolveResource( 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 도 참조해 주세요.