/* * $Id: Case.java,v 1.23 2009/05/25 13:36:31 valdas Exp $ * Created on Apr 11, 2006 * * Copyright (C) 2006 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package com.idega.block.process.data; import java.sql.Timestamp; import java.util.Collection; import java.util.Iterator; import java.util.Locale; import com.idega.core.data.ICTreeNode; import com.idega.data.IDOAddRelationshipException; import com.idega.data.IDOEntity; import com.idega.data.IDORemoveRelationshipException; import com.idega.data.MetaDataCapable; import com.idega.data.UniqueIDCapable; import com.idega.idegaweb.IWApplicationContext; import com.idega.user.data.Group; import com.idega.user.data.User; /** * <p> * TODO laddi Describe Type Case * </p> * Last modified: $Date: 2009/05/25 13:36:31 $ by $Author: valdas $ * * @author <a href="mailto:laddi@idega.com">laddi</a> * @version $Revision: 1.23 $ */ public interface Case extends IDOEntity, ICTreeNode, UniqueIDCapable, MetaDataCapable { /** * @see com.idega.block.process.data.CaseBMPBean#setCode */ public void setCode(String caseCode); /** * @see com.idega.block.process.data.CaseBMPBean#getCode */ public String getCode(); /** * @see com.idega.block.process.data.CaseBMPBean#setCaseCode */ public void setCaseCode(CaseCode caseCode); /** * @see com.idega.block.process.data.CaseBMPBean#getCaseCode */ public CaseCode getCaseCode(); /** * @see com.idega.block.process.data.CaseBMPBean#setCaseStatus */ public void setCaseStatus(CaseStatus status); /** * @see com.idega.block.process.data.CaseBMPBean#getCaseStatus */ public CaseStatus getCaseStatus(); /** * @see com.idega.block.process.data.CaseBMPBean#setStatus */ public void setStatus(String status); /** * @see com.idega.block.process.data.CaseBMPBean#getStatus */ public String getStatus(); /** * @see com.idega.block.process.data.CaseBMPBean#setCreated */ public void setCreated(Timestamp statusChanged); /** * @see com.idega.block.process.data.CaseBMPBean#getCreated */ public Timestamp getCreated(); /** * @see com.idega.block.process.data.CaseBMPBean#setParentCase */ public void setParentCase(Case theCase); /** * @see com.idega.block.process.data.CaseBMPBean#getParentCase */ public Case getParentCase(); /** * @see com.idega.block.process.data.CaseBMPBean#setOwner */ public void setOwner(User owner); /** * @see com.idega.block.process.data.CaseBMPBean#setCreator */ public void setCreator(User creator); /** * @see com.idega.block.process.data.CaseBMPBean#getHandler */ public Group getHandler(); /** * @see com.idega.block.process.data.CaseBMPBean#getHandlerId */ public int getHandlerId(); /** * @see com.idega.block.process.data.CaseBMPBean#setHandler */ public void setHandler(Group handler); /** * @see com.idega.block.process.data.CaseBMPBean#setHandler */ public void setHandler(int handlerGroupID); /** * @see com.idega.block.process.data.CaseBMPBean#getOwner */ public User getOwner(); /** * @see com.idega.block.process.data.CaseBMPBean#getCreator */ public User getCreator(); /** * @see com.idega.block.process.data.CaseBMPBean#setExternalId */ public void setExternalId(String externalId); /** * @see com.idega.block.process.data.CaseBMPBean#getExternalId */ public String getExternalId(); /** * @see com.idega.block.process.data.CaseBMPBean#setCaseNumber */ public void setCaseNumber(String caseNumber); /** * @see com.idega.block.process.data.CaseBMPBean#getCaseNumber */ public String getCaseNumber(); /** * @see com.idega.block.process.data.CaseBMPBean#setExternalHandler */ public void setExternalHandler(User user); /** * @see com.idega.block.process.data.CaseBMPBean#getExternalHandler */ public User getExternalHandler(); /** * @see com.idega.block.process.data.CaseBMPBean#getSubject */ public String getSubject(); /** * @see com.idega.block.process.data.CaseBMPBean#setSubject */ public void setSubject(String subject); /** * @see com.idega.block.process.data.CaseBMPBean#getBody */ public String getBody(); /** * @see com.idega.block.process.data.CaseBMPBean#setBody */ public void setBody(String body); /** * @see com.idega.block.process.data.CaseBMPBean#getParentNode */ @Override public ICTreeNode getParentNode(); /** * @see com.idega.block.process.data.CaseBMPBean#getChildAtIndex */ @Override public ICTreeNode getChildAtIndex(int childIndex); /** * @see com.idega.block.process.data.CaseBMPBean#getChildCount */ @Override public int getChildCount(); /** * @see com.idega.block.process.data.CaseBMPBean#getChildrenIterator */ @Override public Iterator getChildrenIterator(); /** * @see com.idega.block.process.data.CaseBMPBean#getChildren */ @Override public Collection getChildren(); /** * @see com.idega.block.process.data.CaseBMPBean#getSiblingCount */ @Override public int getSiblingCount(); /** * @see com.idega.block.process.data.CaseBMPBean#getNodeID */ @Override public int getNodeID(); /** * @see com.idega.block.process.data.CaseBMPBean#getNodeName */ @Override public String getNodeName(); /** * @see com.idega.block.process.data.CaseBMPBean#getNodeName */ @Override public String getNodeName(Locale locale); /** * @see com.idega.block.process.data.CaseBMPBean#getNodeName */ @Override public String getNodeName(Locale locale, IWApplicationContext iwac); /** * @see com.idega.block.process.data.CaseBMPBean#isLeaf */ @Override public boolean isLeaf(); /** * @see com.idega.block.process.data.CaseBMPBean#getIndex */ @Override public int getIndex(ICTreeNode node); /** * @see com.idega.block.process.data.CaseBMPBean#getAllowsChildren */ @Override public boolean getAllowsChildren(); /** * @see com.idega.block.process.data.CaseBMPBean#getUrl */ public String getUrl(); public String getCaseManagerType(); public void setCaseManagerType(String type); public String getCaseIdentifier(); public void setCaseIdentifier(String caseIdentifier); public boolean addSubscriber(User subscriber) throws IDOAddRelationshipException; /** * * @param subscribers to add, not <code>null</code>; * @return <code>true</code> if successfully appended, <code>false</code> * otherwise; * @author <a href="mailto:martynas@idega.is">Martynas StakÄ—</a> */ public boolean addSubscribers(Collection<User> subscribers); public Collection<User> getSubscribers(); public boolean removeSubscriber(User subscriber) throws IDORemoveRelationshipException; /** * * <p>Removes all subscribers from this {@link Case}.</p> * @return <code>true</code> on success, <code>false</code> otherwise; * @author <a href="mailto:martynas@idega.is">Martynas StakÄ—</a> */ public boolean removeSubscribers(); public Boolean isRead(); public void setRead(Boolean read); public boolean addVote(User voter) throws IDOAddRelationshipException; public boolean removeVote(User voter) throws IDORemoveRelationshipException; public Collection<User> getVoters(); public boolean isClosed(); }