X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.server.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fserver%2Fdao%2FLightDaoSupport.java;fp=org.argeo.server.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fserver%2Fdao%2FLightDaoSupport.java;h=6ea1b754dfaa253c2ebcef76e7711e90f83d138a;hb=1df1bf64759d35d3d72b9d96b26b71118fdbe031;hp=0000000000000000000000000000000000000000;hpb=3a3d316af102ba410d1d9e6de349d0c8f7ac044f;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.server.core/src/main/java/org/argeo/server/dao/LightDaoSupport.java b/org.argeo.server.core/src/main/java/org/argeo/server/dao/LightDaoSupport.java new file mode 100644 index 000000000..6ea1b754d --- /dev/null +++ b/org.argeo.server.core/src/main/java/org/argeo/server/dao/LightDaoSupport.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2007-2012 Argeo GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.argeo.server.dao; + +import java.util.List; + +/** Minimal generic DAO for easy to implements objects <-> storage mapping. */ +public interface LightDaoSupport { + /** Retrieve an object of a given type by its unique key. */ + public T getByKey(Class clss, Object key); + + /** Retrieve an object of a given type by the value of one of its fields. */ + public T getByField(Class clss, String field, Object value); + + /** List all objects, optionally filtering them (implementation dependent) */ + public List list(Class clss, Object filter); + + /** Lis all supported object types. */ + public List> getSupportedClasses(); + + /** Save or update an object */ + public void saveOrUpdate(Object key, Object value, Class clss); +}