/*******************************************************************************
* Copyright (c) 2008-2010, G. Weirich and Elexis
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* G. Weirich - initial implementation
*
*******************************************************************************/
package ch.elexis.data;
import java.util.List;
import ch.elexis.core.constants.StringConstants;
import ch.rgw.tools.StringTool;
/**
* A DBImage is an Image stored in the database and retrievable by its name
*
* @author gerry
*
*/
public class DBImage extends PersistentObject {
public static final String DEFAULT_PREFIX = "ch.elexis.images";
public static final String FLD_PREFIX = "Prefix";
private static final String FLD_TITLE = "Titel";
public static final String DATE = "Datum";
public static final String FLD_IMAGE = "Bild";
public static final String DBVERSION = "1.0.0";
public static final String TABLENAME = "DBIMAGE";
static {
addMapping(TABLENAME, DATE_COMPOUND, FLD_PREFIX, "Titel=Title", FLD_IMAGE);
}
@Override
public String getLabel(){
StringBuilder sb = new StringBuilder();
synchronized (sb) {
sb.append(get(DATE)).append(" - ").append(get(FLD_TITLE))
.append(StringConstants.OPENBRACKET).append(get(FLD_PREFIX))
.append(StringConstants.CLOSEBRACKET);
return sb.toString();
}
}
public String getName(){
return get(FLD_TITLE);
}
public DBImage(String prefix, final String name){
create(null);
if (StringTool.isNothing(prefix)) {
prefix = DEFAULT_PREFIX;
}
set(new String[] {
FLD_PREFIX, FLD_TITLE
}, prefix, name);
}
public static DBImage find(String prefix, String name){
Query<DBImage> qbe = new Query<DBImage>(DBImage.class);
if (StringTool.isNothing(prefix)) {
prefix = DEFAULT_PREFIX;
}
qbe.add(FLD_PREFIX, Query.EQUALS, prefix);
qbe.add(FLD_TITLE, Query.EQUALS, name);
List<DBImage> ret = qbe.execute();
if (ret != null && ret.size() > 0) {
return ret.get(0);
}
return null;
}
public static DBImage load(String id){
DBImage ret = new DBImage(id);
return ret;
}
@Override
protected String getTableName(){
return TABLENAME;
}
protected DBImage(String id){
super(id);
}
protected DBImage(){}
}