package tbx2rdf; import java.util.Collections; import java.util.Map; import java.util.Set; public class ObjectPropertyMapping implements Mapping { final Map<String, IndividualMapping> indivMappingRef; String propertyURL; Set<String> allowedValues; public ObjectPropertyMapping(String url, Set<String> values, Map<String, IndividualMapping> indivMappingRef) { propertyURL = url; allowedValues = values; this.indivMappingRef = Collections.unmodifiableMap(indivMappingRef); } public ObjectPropertyMapping(String url, Map<String, IndividualMapping> indivMappingRef) { propertyURL = url; allowedValues = null; this.indivMappingRef = Collections.unmodifiableMap(indivMappingRef); } @Override public String getURL() { return propertyURL; } public boolean allowed(String value) { if (allowedValues.isEmpty() || allowedValues.contains(value)) { return true; } return false; } public IndividualMapping getMapping(String value) { return indivMappingRef.get(value); } public boolean hasRange() { return allowedValues != null; } @Override public String toString() { return String.format("ObjectProperty <%s>", propertyURL); } }