You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
1.7 KiB

package siprp.database.cayenne.objects;
import java.text.DateFormat;
import java.util.Locale;
import org.apache.cayenne.CayenneDataObject;
import org.apache.cayenne.PersistenceState;
import siprp.database.cayenne.providers.MainDAO;
import com.evolute.utils.strings.UnicodeChecker;
public class BaseObject extends CayenneDataObject
{
static {
UnicodeChecker.setUseDoubleSlash( true );
}
private static final long serialVersionUID = 1L;
protected static MainDAO dao = new MainDAO();
protected static final DateFormat sdf = DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "pt", "PT" ) );
protected static final String isNewMessage = " ";
public boolean isTransient()
{
return getPersistenceState() == PersistenceState.TRANSIENT;
}
public boolean isNew()
{
return getPersistenceState() == PersistenceState.NEW;
}
public boolean isCommited()
{
return getPersistenceState() == PersistenceState.COMMITTED;
}
public boolean isModified()
{
return getPersistenceState() == PersistenceState.MODIFIED;
}
public void commit()
{
dao.commit();
}
public void rollback()
{
dao.rollback();
}
public void save() throws Exception
{
if( isTransient() )
{
dao.getContext().registerNewObject( this );
}
commit();
}
public void delete() throws Exception
{
dao.getContext().deleteObject( this );
commit();
}
protected String parseToUnicode( String string )
{
String result = string == null ? null : UnicodeChecker.parseToUnicode( string );
return result == null ? null : result.replaceAll( "\\\\\\\\", "\\\\" );
}
protected String parseFromUnicode( String string )
{
return string == null ? null : UnicodeChecker.parseFromUnicode( string );
}
}