package com.venky.swf.plugins.collab.db.model.participants.admin;
import java.io.InputStream;
import java.sql.Date;
import java.util.List;
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.HOUSEKEEPING;
import com.venky.swf.db.annotations.column.IS_NULLABLE;
import com.venky.swf.db.annotations.column.IS_VIRTUAL;
import com.venky.swf.db.annotations.column.UNIQUE_KEY;
import com.venky.swf.db.annotations.column.defaulting.StandardDefault;
import com.venky.swf.db.annotations.column.indexing.Index;
import com.venky.swf.db.annotations.column.pm.PARTICIPANT;
import com.venky.swf.db.annotations.column.relationship.CONNECTED_VIA;
import com.venky.swf.db.annotations.column.ui.CONTENT_TYPE;
import com.venky.swf.db.annotations.column.ui.HIDDEN;
import com.venky.swf.db.annotations.column.ui.PROTECTION;
import com.venky.swf.db.annotations.column.ui.PROTECTION.Kind;
import com.venky.swf.db.annotations.column.ui.mimes.MimeType;
import com.venky.swf.db.model.Model;
import com.venky.swf.plugins.collab.db.model.user.User;
public interface Company extends Model{
@COLUMN_NAME("ID")
@PROTECTION
@HIDDEN
@HOUSEKEEPING
@PARTICIPANT
public int getSelfCompanyId();
public void setSelfCompanyId(int id);
@IS_VIRTUAL
public Company getSelfCompany();
@IS_NULLABLE(false)
@UNIQUE_KEY
@Index
public String getName();
public void setName(String name);
public Date getDateOfIncorporation();
public void setDateOfIncorporation(Date date);
@CONTENT_TYPE(MimeType.IMAGE_PNG)
public InputStream getLogo();
public void setLogo(InputStream in);
@PROTECTION(Kind.NON_EDITABLE)
@HIDDEN
public String getLogoContentName();
public void setLogoContentName(String name);
@PROTECTION(Kind.NON_EDITABLE)
@HIDDEN
public String getLogoContentType();
public void setLogoContentType(String contentType);
@PROTECTION(Kind.NON_EDITABLE)
@HIDDEN
@COLUMN_DEF(StandardDefault.ZERO)
public int getLogoContentSize();
public void setLogoContentSize(int size);
public List<Facility> getFacilities();
@PARTICIPANT
public Integer getCreatorUserId();
@CONNECTED_VIA("COMPANY_ID")
public List<User> getCompanyUsers();
}