FourmMessage

类别:Java 点击:0 评论:0 推荐:

简而言之,FourmMessage就是论坛的贴子,在这里,主要是贴子的内容,当然,再贴子的内容显示的时候,可能要加上一些Filter显然,这是一个设计模式中的Decortor模式。在这里,要说明的一个技巧就是,在一个属性不属于基本接口的时候,可以加一个附加属性Property,这样就可以在不改变接口的情况下,显示出附加的信息。
//////////////////////////////////////////////////////////////////////////////////////////////////////
CREATE TABLE YazdMessage (
  messageID          INTEGER NOT NULL,
  threadID           INTEGER DEFAULT -1,
  subject            VARCHAR2(255) NULL,
  userID             INTEGER NOT NULL,
  body               LONG VARCHAR NULL,
  modifiedDate       VARCHAR2(15) NOT NULL,
  creationDate       VARCHAR2(15) NOT NULL,
  approved           INTEGER NOT NULL
);
CREATE TABLE YazdMessageProp (----看,这就是附加的Property!
  messageID     INTEGER NOT NULL,
  name          VARCHAR2(50) NOT NULL,
  propValue     VARCHAR2(255) NOT NULL
);
///////////////////////////////////////////////////////////////////////////////////////////////////////
 public int getID();返回贴子的ID即数据表格中的messageID

 public Date getCreationDate();返回贴子的建立日期

 public void setCreationDate(Date creationDate) throws UnauthorizedException;重新设置贴子的建立日期,不推荐的做法,只有ADIM可以

 public Date getModifiedDate();返回修改日期,只要贴子中的某个属性改变,此ModifiedDate就会立即发生改变

 public void setModifiedDate(Date modifiedDate) throws UnauthorizedException;重新设置贴子的修改日期,只有ADIM可以

 public String getSubject();返回贴子的标题,即subject,当然在返回这个之前,必须要通过Filter

 public String getUnfilteredSubject();正如其名,返回一个干净的标题

 public void setSubject(String subject) throws UnauthorizedException;重新设置标题,只有ADIM可以,这就与Filter无关啦

 public String getBody();返回贴子的内容,显然与subject一样,必须要通过Filter

 public String getUnfilteredBody();同public String getUnfilteredSubject();一样的效果

 public void setBody(String body) throws UnauthorizedException;同public void setSubject(String subject)

 public User getUser();返回本贴子的作者,即通过userID来捕获,如果userID为-1,则可断定此为匿名作者

 public String getProperty(String name);这就是附加Property的事情了,此方法返回具有name的Value,同样此也必须通过Filter<HTML Filter>

 public String getUnfilteredProperty(String name);返回一个不带任何Filter的具有name的Value

 public void setProperty(String name, String value);增加一个附加的property,把名字设为name,其值为value

 public Iterator propertyNames();返回一个所有附加property的遍历

 public boolean isAnonymous();指出贴子的作者是否是一个Anonymous

 public ForumThread getForumThread();返回这个贴子的Thread,其实是根据threadID,来得到FourmThread

 public boolean hasPermission(int type);几乎大多数接口都要实现的方法,就是确定是不是具有某个权限

本文地址:http://com.8s8s.com/it/it12491.htm