📄 imetadatadao.java
字号:
package com.esri.solutions.jitk.common.metadata;
import java.util.List;
import java.util.Map;
/**
* Defines a Data Access Object (DAO) that is used to access metadata in some
* form of a data store. The interface defines only those methods required to
* connect to these data sources and provide the highest-level of metadata
* querying capabilities. No datastore-specific queries or business logic should
* be coded into implementing classes.
*/
public interface IMetadataDAO {
/**
* Retrieves the metadata record corresponding to the given ID from the
* datastore.
*
* @param id
* {@link IMetadataID} of the metadata to retrieve.
* @return {@link IMetadataDocument} representing the metadata specified by
* the given {@link IMetadataID}. This will return {@code null} if
* no corresponding metadata could be found.
*/
public IMetadataDocument getDocumentByID(IMetadataID id);
/**
* Retrieves the metadata repository item corresponding to the given ID from the
* metadata repository. This will be the actual repository item stored.
*
* @param id {@link IMetadataID} of the metadata to retrieve.
* @return {@link IMetadataDocument} representing the metadata specified by
* the given {@link IMetadataID}. This will return {@code null} if
* no corresponding metadata could be found.
* @throws InvalidMetadataOperationException Thrown if get repository item operation is not supported.
*/
public IMetadataDocument getRepositoryItemByID(IMetadataID id)
throws InvalidMetadataOperationException;
/**
* Retrieves all metadata records from the datastore.
*
* @return {@link List} of {@link IMetadataDocument} objects, one for each
* metadata record in the data store, or an empty {@link List} if
* the data store is empty. This will never return {@code null}.
*/
public List<IMetadataDocument> getAllDocuments();
/**
* Searches the metadata store for all documents that match the given search
* criteria.
*
* @param criteria {@link Map} of search criteria. Cannot be {@code null}. See implementing classes for
* any DAO-specific wildcards.
*
* @return {@link List} of {@link IMetadataDocument} objects matching the
* search criteria, or an empty {@link List} if none are found. This will never
* return {@code null}.
*/
public List<IMetadataDocument> findDocuments(Map<String, Object> criteria);
/**
* Sets implementation-specific properties for this DAO.
*
* @param properties
* {@code Map<String,Object>} containing the properties. Cannot
* be {@code null}.
*/
public void setProperties(Map<String, Object> properties);
/**
* Gets implementation-specific properties for this DAO.
*
* @return {@code Map<String,Object>} containing the properties. Will never
* be {@code null}.
*/
public Map<String, Object> getProperties();
/**
* Gets the Id for this this DAO.
*
* @return The Id. Will never be {@code null}.
*/
public String getId();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -