com.thaiopensource.validate.AbstractSchema Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jing Show documentation
Show all versions of jing Show documentation
Jing - tool for validating RelaxNG - (OSGi-compatible version)
package com.thaiopensource.validate;
import com.thaiopensource.util.PropertyMap;
import com.thaiopensource.util.PropertyId;
import com.thaiopensource.util.PropertyMapBuilder;
public abstract class AbstractSchema implements Schema {
private final PropertyMap properties;
public AbstractSchema() {
this(PropertyMap.EMPTY);
}
public AbstractSchema(PropertyMap properties) {
this.properties = properties;
}
public AbstractSchema(PropertyMap properties, PropertyId>[] supportedPropertyIds) {
this(filterProperties(properties, supportedPropertyIds));
}
public PropertyMap getProperties() {
return properties;
}
static public PropertyMap filterProperties(PropertyMap properties, PropertyId>[] supportedPropertyIds) {
PropertyMapBuilder builder = new PropertyMapBuilder();
for (int i = 0; i < supportedPropertyIds.length; i++)
copy(builder, supportedPropertyIds[i], properties);
return builder.toPropertyMap();
}
static private void copy(PropertyMapBuilder builder, PropertyId pid, PropertyMap properties) {
T value = properties.get(pid);
if (value != null)
builder.put(pid, value);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy