package com.ctc.wstx.dtd;
import com.ctc.wstx.util.PrefixedName;
Simple content model validator that accepts no elements, ever; this
is true for pure #PCDATA content model as well as EMPTY content model.
Can be used as a singleton, since all info needed for diagnostics
is passed via methods.
/**
* Simple content model validator that accepts no elements, ever; this
* is true for pure #PCDATA content model as well as EMPTY content model.
* Can be used as a singleton, since all info needed for diagnostics
* is passed via methods.
*/
public class EmptyValidator
extends StructValidator
{
final static EmptyValidator sPcdataInstance = new EmptyValidator("No elements allowed in pure #PCDATA content model");
final static EmptyValidator sEmptyInstance = new EmptyValidator("No elements allowed in EMPTY content model");
final String mErrorMsg;
private EmptyValidator(String errorMsg) {
mErrorMsg = errorMsg;
}
public static EmptyValidator getPcdataInstance() { return sPcdataInstance; }
public static EmptyValidator getEmptyInstance() { return sPcdataInstance; }
Simple; can always (re)use instance itself; no state information
is kept.
/**
* Simple; can always (re)use instance itself; no state information
* is kept.
*/
@Override
public StructValidator newInstance() {
return this;
}
@Override
public String tryToValidate(PrefixedName elemName) {
return mErrorMsg;
}
If we ever get as far as element closing, things are all good;
can just return null.
/**
* If we ever get as far as element closing, things are all good;
* can just return null.
*/
@Override
public String fullyValid() {
return null;
}
}