View Javadoc

1   /*
2    * Copyright (C) 2003-2012 David E. Berry
3    *
4    * This library is free software; you can redistribute it and/or
5    * modify it under the terms of the GNU Lesser General Public
6    * License as published by the Free Software Foundation; either
7    * version 2.1 of the License, or (at your option) any later version.
8    *
9    * This library is distributed in the hope that it will be useful,
10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   * Lesser General Public License for more details.
13   *
14   * You should have received a copy of the GNU Lesser General Public
15   * License along with this library; if not, write to the Free Software
16   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17   *
18   * A copy of the GNU Lesser General Public License may also be found at
19   * http://www.gnu.org/licenses/lgpl.txt
20   */
21  package org.synchronoss.cpo.meta;
22  
23  import org.synchronoss.cpo.CpoException;
24  import org.synchronoss.cpo.meta.domain.*;
25  import org.synchronoss.cpo.parser.ExpressionParser;
26  
27  import java.util.List;
28  
29  /**
30   * @author dberry
31   */
32  public interface CpoMetaAdapter {
33  
34    /**
35     * Returns the meta data for the class that is contained within the meta data source
36     *
37     * @throws CpoException Thrown if there are errors accessing the datasource
38     */
39    public <T> CpoClass getMetaClass(T obj) throws CpoException;
40  
41    /**
42     * Returns a list of the cpo class objects that the meta adapter is aware of.
43     *
44     * @return java.util.List of CpoClass
45     */
46    public List<CpoClass> getCpoClasses() throws CpoException ;
47  
48    public ExpressionParser getExpressionParser() throws CpoException ;
49  
50    public String getJavaTypeName(CpoAttribute attribute) throws CpoException ;
51    
52    public Class getJavaTypeClass(CpoAttribute attribute) throws CpoException ;
53    
54    public List<String> getAllowableDataTypes() throws CpoException ;
55  }