package com.revolsys.io.connection; import java.io.File; import java.util.List; import java.util.Map; import com.revolsys.beans.PropertyChangeSupportProxy; import com.revolsys.collection.NameProxy; import com.revolsys.collection.Parent; public interface ConnectionRegistry<C extends Connection> extends PropertyChangeSupportProxy, Parent<C>, NameProxy { @Override default List<C> getChildren() { return getConnections(); } C getConnection(final String connectionName); ConnectionRegistryManager<ConnectionRegistry<C>> getConnectionManager(); List<String> getConnectionNames(); List<C> getConnections(); String getFileExtension(); void importConnection(File file); default boolean isEditable() { return !isReadOnly(); } boolean isReadOnly(); boolean isVisible(); C newConnection(Map<String, ? extends Object> connectionParameters); boolean removeConnection(Connection connection); void setConnectionManager( ConnectionRegistryManager<? extends ConnectionRegistry<C>> connectionManager); }