package frostillicus.xsp;
import com.ibm.xsp.model.DataObject;
import com.ibm.xsp.model.domino.wrapped.DominoDocument;
import lotus.domino.*;
import com.ibm.xsp.extlib.util.ExtLibUtil;
/**
* @since 1.0
*/
public class DominoDocumentMap implements DataObject {
@Override
public DominoDocument getValue(Object key) {
if(!(key instanceof String)) {
throw new IllegalArgumentException("key must be a String.");
}
try {
Database database = ExtLibUtil.getCurrentDatabase();
Document doc = database.getDocumentByUNID((String)key);
return DominoDocument.wrap(
database.getFilePath(), // databaseName
doc, // Document
null, // computeWithForm
null, // concurrencyMode
false, // allowDeletedDocs
null, // saveLinksAs
null // webQuerySaveAgent
);
} catch(NotesException ne) {
ne.printStackTrace();
}
return null;
}
@Override
public void setValue(Object key, Object value) { }
@Override
public Class<DominoDocument> getType(Object key) {
return DominoDocument.class;
}
@Override
public boolean isReadOnly(Object key) {
return true;
}
}