package org.infinispan.configuration.parsing; /** * Schema. * * @author Tristan Tarrant * @since 8.1 */ public class Schema { final int major; final int minor; public Schema(int major, int minor) { this.major = major; this.minor = minor; } public int getMajor() { return major; } public int getMinor() { return minor; } public boolean since(int major, int minor) { return (this.major > major) || ((this.major == major) && (this.minor >= minor)); } public static Schema fromNamespaceURI(String namespaceURI) { int major = 999; int minor = 999; if (namespaceURI.startsWith("uri:") || namespaceURI.startsWith("urn:")) { String version = namespaceURI.substring(namespaceURI.lastIndexOf(':') + 1); String[] split = version.split("\\."); try { major = Integer.parseInt(split[0]); minor = Integer.parseInt(split[1]); } catch (NumberFormatException e) { // Ignore } } return new Schema(major, minor); } }