]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - server/runtime/org.argeo.server.core/src/main/java/org/argeo/server/dao/LightDaoSupport.java
2d71c9319cd4e9315389ef29f4f68656e770cac5
2 * Copyright (C) 2007-2012 Mathieu Baudier
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org
.argeo
.server
.dao
;
18 import java
.util
.List
;
20 /** Minimal generic DAO for easy to implements objects <-> storage mapping. */
21 public interface LightDaoSupport
{
22 /** Retrieve an object of a given type by its unique key. */
23 public <T
> T
getByKey(Class
<T
> clss
, Object key
);
25 /** Retrieve an object of a given type by the value of one of its fields. */
26 public <T
> T
getByField(Class
<T
> clss
, String field
, Object value
);
28 /** List all objects, optionally filtering them (implementation dependent) */
29 public <T
> List
<T
> list(Class
<T
> clss
, Object filter
);
31 /** Lis all supported object types. */
32 public List
<Class
<?
>> getSupportedClasses();
34 /** Save or update an object */
35 public void saveOrUpdate(Object key
, Object value
, Class
<?
> clss
);