package org.mitre.provenance;
/**
* This is a shim interface intended to unify functionality from several different libriaries (notably JSON and Neo4J libs).
* This simply represents a bucket of properties.
* The map interface wasn't appropriate because this is intended to be read-only.
* Other objects with different functionality will get wrapped in an implementation of this interface so that code can create/save
* objects as a bag of properties, without having to understand which library is being used to do that, and their different APIs.
* @author moxious
*/
public interface PropertySet {
public Object getProperty(String propName);
public Object getProperty(String propName, Object defaultValue);
public Iterable<String> getPropertyKeys();
public boolean hasProperty(String property);
}