org.apache.xerces.impl.xs.opti.SchemaDOMImplementation Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.xerces.impl.xs.opti;
import org.w3c.dom.DOMException;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.DocumentType;
/**
* @xerces.internal
*
* @version $Id: SchemaDOMImplementation.java 982727 2010-08-05 18:40:07Z mrglavas $
*/
final class SchemaDOMImplementation implements DOMImplementation {
private static final SchemaDOMImplementation singleton = new SchemaDOMImplementation();
/** NON-DOM: Obtain and return the single shared object */
public static DOMImplementation getDOMImplementation() {
return singleton;
}
private SchemaDOMImplementation() {}
public Document createDocument(String namespaceURI, String qualifiedName, DocumentType doctype)
throws DOMException {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
public DocumentType createDocumentType(String qualifiedName, String publicId, String systemId)
throws DOMException {
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
}
public Object getFeature(String feature, String version) {
if (singleton.hasFeature(feature, version)) {
return singleton;
}
return null;
}
public boolean hasFeature(String feature, String version) {
final boolean anyVersion = version == null || version.length() == 0;
return (feature.equalsIgnoreCase("Core") || feature.equalsIgnoreCase("XML")) &&
(anyVersion || version.equals("1.0") || version.equals("2.0") || version.equals("3.0"));
}
}