/**
* MailArchiver is an application that provides services for storing and managing e-mail messages through a Web Services SOAP interface.
* Copyright (C) 2012 Marcio Andre Scholl Levien and Fernando Alberto Reuter Wendt and Jose Ronaldo Nogueira Fonseca Junior
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
/******************************************************************************\
*
* This product was developed by
*
* SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO),
*
* a government company established under Brazilian law (5.615/70),
* at Department of Development of Porto Alegre.
*
\******************************************************************************/
package serpro.mailarchiver.util.jdo;
import org.datanucleus.ObjectManager;
import org.datanucleus.query.typesafe.TypesafeQuery;
public interface PersistenceManager
extends javax.jdo.PersistenceManager
{
public ObjectManager getObjectManager();
@Override
public PersistenceManagerFactory getPersistenceManagerFactory();
// public boolean getDetachAllOnCommit();
// public boolean getCopyOnAttach();
// public javax.jdo.FetchPlan getFetchPlan();
// public boolean getIgnoreCache();
// public boolean getMultithreaded();
// public void setDetachAllOnCommit(boolean flag);
// public void setCopyOnAttach(boolean flag);
// public void setIgnoreCache(boolean flag);
// public void setMultithreaded(boolean flag);
// public Date getServerDate();
// public void close();
// public boolean isClosed();
// public javax.jdo.Transaction currentTransaction();
// public void evict(Object obj);
// public void evictAll(boolean subclasses, Class cls);
// public void evictAll(Object[] pcs);
// public void evictAll(Collection pcs);
// public void evictAll();
// public void refresh(Object obj);
// public void refreshAll(Object[] pcs);
// public void refreshAll(Collection pcs);
// public void refreshAll();
// public void refreshAll(javax.jdo.JDOException exc);
// public void retrieve(Object pc, boolean useFetchPlan);
// public void retrieve(Object pc);
// public void retrieveAll(Object[] pcs);
// public void retrieveAll(Object[] pcs, boolean useFetchPlan);
// public void retrieveAll(boolean useFetchPlan, Object[] pcs);
// public void retrieveAll(Collection pcs, boolean useFetchPlan);
// public void retrieveAll(Collection pcs);
// public Object makePersistent(Object obj);
// public Object[] makePersistentAll(Object[] pcs);
// public Collection makePersistentAll(Collection pcs);
// public void deletePersistent(Object obj);
// public void deletePersistentAll(Object[] pcs);
// public void deletePersistentAll(Collection pcs);
// public void makeTransient(Object pc, boolean useFetchPlan);
// public void makeTransient(Object pc);
// public void makeTransientAll(Object[] pcs);
// public void makeTransientAll(Object[] pcs, boolean includeFetchPlan);
// public void makeTransientAll(boolean includeFetchPlan, Object[] pcs);
// public void makeTransientAll(Collection pcs, boolean useFetchPlan);
// public void makeTransientAll(Collection pcs);
// public void makeTransactional(Object pc);
// public void makeTransactionalAll(Object[] pcs);
// public void makeTransactionalAll(Collection pcs);
// public void makeNontransactional(Object pc);
// public void makeNontransactionalAll(Object[] pcs);
// public void makeNontransactionalAll(Collection pcs);
// public Object detachCopy(Object pc);
// public Object[] detachCopyAll(Object[] pcs);
// public Collection detachCopyAll(Collection pcs);
// public javax.jdo.Query newQuery();
// public javax.jdo.Query newQuery(Object obj);
// public javax.jdo.Query newQuery(String query);
// public javax.jdo.Query newQuery(String language, Object query);
// public javax.jdo.Query newQuery(Class cls);
// public javax.jdo.Query newQuery(javax.jdo.Extent cln);
// public javax.jdo.Query newQuery(Class cls, Collection cln);
// public javax.jdo.Query newQuery(Class cls, String filter);
// public javax.jdo.Query newQuery(Class cls, Collection cln, String filter);
// public javax.jdo.Query newQuery(javax.jdo.Extent cln, String filter);
// public javax.jdo.Query newNamedQuery(Class cls, String queryName);
public TypesafeQuery newTypesafeQuery(Class cls);
// public javax.jdo.Extent getExtent(Class pcClass, boolean subclasses);
// public javax.jdo.Extent getExtent(Class pcClass);
// public Object newInstance(Class pc);
// public Object newObjectIdInstance(Class pcClass, Object key);
// public Set getManagedObjects();
// public Set getManagedObjects(Class[] classes);
// public Set getManagedObjects(EnumSet states);
// public Set getManagedObjects(EnumSet states, Class[] classes);
// public Object getObjectById(Object id);
// public Object getObjectById(Object id, boolean validate);
// public Object getObjectById(Class cls, Object key);
// public Object[] getObjectsById(boolean validate, Object[] oids);
// public Object[] getObjectsById(Object[] oids, boolean validate);
// public Object[] getObjectsById(Object[] oids);
// public Collection getObjectsById(Collection oids);
// public Collection getObjectsById(Collection oids, boolean validate);
// public Object getObjectId(Object pc);
// public Object getTransactionalObjectId(Object pc);
// public Class getObjectIdClass(Class cls);
// public Object putUserObject(Object key, Object value);
// public Object getUserObject(Object key);
// public Object removeUserObject(Object key);
// public void setUserObject(Object userObject);
// public Object getUserObject();
// public void flush();
// public void checkConsistency();
// public javax.jdo.datastore.Sequence getSequence(String sequenceName);
// public void addInstanceLifecycleListener(javax.jdo.listener.InstanceLifecycleListener listener, Class[] classes);
// public void removeInstanceLifecycleListener(javax.jdo.listener.InstanceLifecycleListener listener);
// public javax.jdo.datastore.JDOConnection getDataStoreConnection();
// public javax.jdo.FetchGroup getFetchGroup(Class cls, String name);
// public void setDatastoreReadTimeoutMillis(Integer timeout);
// public Integer getDatastoreReadTimeoutMillis();
// public void setDatastoreWriteTimeoutMillis(Integer timeout);
// public Integer getDatastoreWriteTimeoutMillis();
}