MetaDataEntityLocalHome.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. See terms of license at gnu.org. */ package javax.emb; import java.util.Collection; import java.util.Map; import javax.ejb.CreateException; import javax.ejb.EJBLocalHome; import javax.ejb.FinderException; /** * This interface defines the local home interface of metadata entity EJBs and * therefore services relevant for local, persistent and mutable metadata * objects. It extends javax.ejb.EJBLocalHome and defines additional methods * with a semantic requiring the persistence of such metadata * * @version <tt>$Revision: 1.1 $</tt> * @author <a href="mailto:ricardoarguello@users.sourceforge.net">Ricardo * Argüello</a> */ public interface MetaDataEntityLocalHome extends EJBLocalHome { /** * Creates a new metadata entity EJB with a generated identity key, null XML * content and default values for the other properties. Please note many of * the Metadata Entity EJB methods will throw exceptions until the XML * content is set. * * @return metadata entity. * @throws javax.ejb.CreateException if a problem related to EJB creation * occurs. * @throws MediaException */ MetaDataEntityLocal create() throws CreateException, MediaException; /** * Returns the metadata entity with the given identity. * * @param identity. * @return metadata entity. * @throws java.lang.NullPointerException if the value passed is <code>null</code>. * @throws javax.ejb.FinderException if no matching metadata entity is * found. */ MetaDataEntityLocal findByPrimaryKey(String identity) throws FinderException; /** * Returns the metadata entities that match the given query. The query * semantics are defined by the given query language in association with the * optionally given query options. Note that the set of query languages and * options supported is up to the implementation. Valid keys for the options * map can be derived by calling <code>retrieveSupportedOptions()</code>. * In case unsupported options are passed, implementations should ignore * them. * * @param query * @param queryLanguage * @param options * @return collection. * @throws java.lang.NullPointerException if the query or query language * passed is <code>null</code>. * @throws java.lang.NullPointerException if the query or query language * passed is null. * @throws javax.emb.MalformedQueryException if the query statement does not * match the syntax defined by the given query language. * @throws javax.emb.UnsupportedQueryLanguageException if the specified * query language is not supported by the implementation. * @throws javax.emb.IllegalOptionException if the given options are not * formatted properly and cannot be read or if one of the options is * unsupported and cannot be processed. * @throws javax.emb.MalformedQueryException if the query statement does not * match the syntax defined by the given query language. * @throws javax.emb.UnsupportedQueryLanguageException if the specified * query language is not supported by the implementation. * @throws javax.emb.IllegalOptionException if the given options are not * formatted properly and cannot be read or if one of the options is * unsupported and cannot be processed. */ Collection query(String query, String queryLanguage, Map options) throws FinderException, MediaException; /** * Returns an array containing the names of supported options for the given * query language. If no query options are supported then an empty array is * returned. * * @param queryLanguage * @return @throws java.lang.NullPointerException if the value passed is * <code>null</code>. * @throws javax.emb.UnsupportedQueryLanguageException if the name of the * query language passed is not supported by the implementation. */ String[] retrieveSupportedOptions(String queryLanguage) throws MediaException; /** * Returns an array containing the names of supported query languages. If no * query languages are supported then an empty array is returned. * * @return @throws MediaException */ String[] retrieveSupportedQueryLanguages() throws MediaException; }
MetaDataEntityLocalHome.java |