package org.safehaus.penrose.source; import org.safehaus.penrose.ldap.*; import org.safehaus.penrose.source.SourceConfig; import org.safehaus.penrose.filter.Filter; import java.util.Collection; /** * @author Endi Sukma Dewata */ public interface SourceServiceMBean { public final static String STARTED = "STARTED"; public final static String STOPPED = "STOPPED"; public String getStatus() throws Exception; public Long getCount() throws Exception; public void create() throws Exception; public void clear() throws Exception; public void drop() throws Exception; public String getAdapterName() throws Exception; public String getConnectionName() throws Exception; public Collection<String> getFieldNames() throws Exception; public Collection<FieldConfig> getFieldConfigs() throws Exception; public SourceConfig getSourceConfig() throws Exception; public void setSourceConfig(SourceConfig sourceConfig) throws Exception; public String getParameter(String name) throws Exception; public Collection<String> getParameterNames() throws Exception; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Add //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public AddResponse add(String dn, Attributes attributes) throws Exception; public AddResponse add(RDN rdn, Attributes attributes) throws Exception; public AddResponse add(DN dn, Attributes attributes) throws Exception; public AddResponse add(AddRequest request, AddResponse response) throws Exception; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Delete //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public DeleteResponse delete(String dn) throws Exception; public DeleteResponse delete(RDN rdn) throws Exception; public DeleteResponse delete(DN dn) throws Exception; public DeleteResponse delete(DeleteRequest request, DeleteResponse response) throws Exception; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Find //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public SearchResult find(String dn) throws Exception; public SearchResult find(RDN rdn) throws Exception; public SearchResult find(DN dn) throws Exception; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Modify //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public ModifyResponse modify(String dn, Collection<Modification> modifications) throws Exception; public ModifyResponse modify(RDN rdn, Collection<Modification> modifications) throws Exception; public ModifyResponse modify(DN dn, Collection<Modification> modifications) throws Exception; public ModifyResponse modify(ModifyRequest request, ModifyResponse response) throws Exception; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ModRdn //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public ModRdnResponse modrdn(String dn, String newRdn, boolean deleteOldRdn) throws Exception; public ModRdnResponse modrdn(RDN rdn, RDN newRdn, boolean deleteOldRdn) throws Exception; public ModRdnResponse modrdn(DN dn, RDN newRdn, boolean deleteOldRdn) throws Exception; public ModRdnResponse modrdn(ModRdnRequest request, ModRdnResponse response) throws Exception; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Search //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public SearchResponse search(String dn, String filter, int scope) throws Exception; public SearchResponse search(RDN rdn, Filter filter, int scope) throws Exception; public SearchResponse search(DN dn, Filter filter, int scope) throws Exception; public SearchResponse search(SearchRequest request, SearchResponse response) throws Exception; }