package xapi.model.api;
import xapi.fu.Out1;
import java.util.Map.Entry;
public interface Model {
//attributes
<T> T getProperty(String key);
<T> T getProperty(String key, T dflt);
<T> T getProperty(String key, Out1<T> dflt);
Class<?> getPropertyType(String key);
Iterable<Entry<String, Object>> getProperties();
String[] getPropertyNames();
Model setProperty(String key, Object value);
Model removeProperty(String key);
void clear();
ModelKey getKey();
String getType();
Model setKey(ModelKey key);
}