All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.venky.swf.db.model.Model Maven / Gradle / Ivy

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.venky.swf.db.model;

import java.sql.Timestamp;

import com.venky.swf.db.annotations.column.COLUMN_DEF;
import com.venky.swf.db.annotations.column.COLUMN_NAME;
import com.venky.swf.db.annotations.column.COLUMN_SIZE;
import com.venky.swf.db.annotations.column.IS_AUTOINCREMENT;
import com.venky.swf.db.annotations.column.IS_NULLABLE;
import com.venky.swf.db.annotations.column.defaulting.StandardDefault;
import com.venky.swf.db.annotations.column.ui.HIDDEN;
import com.venky.swf.db.annotations.column.ui.PROTECTED;
import com.venky.swf.db.table.Record;

/**
 *
 * @author venky
 */
public interface Model {
    @IS_NULLABLE(false)
    @IS_AUTOINCREMENT
    @HIDDEN
    public int getId();
    public void setId(int id);
    
    @HIDDEN
    public int getLockId();
    public void setLockId(int lockid);
    
	@COLUMN_SIZE(10)
	@COLUMN_NAME("updater_id")
	@PROTECTED
	public Integer getUpdaterUserId();
	public void setUpdaterUserId(Integer updaterUserId);
	public User getUpdaterUser();
	
	@COLUMN_NAME("updated_at")
	@IS_NULLABLE(false)
	@COLUMN_DEF(StandardDefault.CURRENT_TIMESTAMP)
	@PROTECTED
	public Timestamp getUpdatedAt();
	public void setUpdatedAt(Timestamp updatedAt);

	@COLUMN_SIZE(10)
	@COLUMN_NAME("creator_id")
	@PROTECTED
	public Integer getCreatorUserId();
	public void setCreatorUserId(Integer creatorUserId);
	public User getCreatorUser();
	
	@COLUMN_NAME("created_at")
	@IS_NULLABLE(false)
	@COLUMN_DEF(StandardDefault.CURRENT_TIMESTAMP)
	@PROTECTED
	public Timestamp getCreatedAt();
	public void setCreatedAt(Timestamp createdAt);
    	
    public void save();
    public void destroy();
    public void init();
    public boolean isAccessibleBy(User user);
    
    public Record getRawRecord();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy