<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 78,  comments - 48,  trackbacks - 0
    下面的代碼表現出使用set 帶來的好處。
    ??1public?class?TaskTemplate?{
    ??2????private?String?id;
    ??3????private?String?title;
    ??4????private?String?detail;
    ??5????
    ??6????private?Set<TaskTemplate>?preconditions;
    ??7????private?Set<TaskTemplate>?subTasks;
    ??8????
    ??9????//?Temporary?used?for?create?task.?don't?persistent.
    ?10????
    ?11????private?Task?createdTask;?
    ?12????public?String?getDetail()?{
    ?13????????return?detail;
    ?14????}

    ?15????public?void?setDetail(String?detail)?{
    ?16????????this.detail?=?detail;
    ?17????}

    ?18????public?String?getId()?{
    ?19????????return?id;
    ?20????}

    ?21????public?void?setId(String?id)?{
    ?22????????this.id?=?id;
    ?23????}

    ?24????public?Set<TaskTemplate>?getPreconditions()?{
    ?25????????if?(preconditions?==?null)?{
    ?26????????????preconditions?=?new?HashSet<TaskTemplate>?();
    ?27????????}

    ?28????????return?preconditions;
    ?29????}

    ?30????public?void?setPreconditions(Set<TaskTemplate>?preconditions)?{
    ?31????????this.preconditions?=?preconditions;
    ?32????}

    ?33????public?Set<TaskTemplate>?getSubTasks()?{
    ?34????????if?(subTasks?==?null)?
    ?35????????????subTasks?=?new?HashSet<TaskTemplate>();
    ?36????????return?subTasks;
    ?37????}

    ?38????public?void?setSubTasks(Set<TaskTemplate>?subTasks)?{
    ?39????????this.subTasks?=?subTasks;
    ?40????}

    ?41????public?String?getTitle()?{
    ?42????????return?title;
    ?43????}

    ?44????public?void?setTitle(String?title)?{
    ?45????????this.title?=?title;
    ?46????}

    ?47????
    ?48????public?Task?getCreatedTask()?{
    ?49????????return?createdTask;
    ?50????}

    ?51
    ?52????/**
    ?53?????*?@param?subTemplate
    ?54?????*/

    ?55????public?void?addSubTaskTemplate(TaskTemplate?subTemplate)?{
    ?56????????getSubTasks().add?(subTemplate);
    ?57????????
    ?58????}

    ?59????
    ?60????/**
    ?61?????*?@param?subTemplate
    ?62?????*/

    ?63????public?void?addPrecondition(TaskTemplate?subTemplate)?{
    ?64????????getPreconditions().add?(subTemplate);
    ?65????}

    ?66????
    ?67????/**
    ?68?????*?
    ?69?????*/

    ?70????private?void?fillPreconitionAfterCreateTask()?{
    ?71????????if?(createdTask?==?null)
    ?72????????????return;
    ?73????????
    ?74????????for?(TaskTemplate?template?:?getPreconditions?())?{
    ?75????????????createdTask.addPrecondition?(template.getCreatedTask?());
    ?76????????}

    ?77????????
    ?78????????for?(TaskTemplate?subTemplate?:?getSubTasks?())?{
    ?79????????????subTemplate.fillPreconitionAfterCreateTask();
    ?80????????}

    ?81????}

    ?82????
    ?83????/**
    ?84?????*?@return
    ?85?????*/

    ?86????private?Task?createTask()?{
    ?87????????Task?task?=?new?Task?();
    ?88????????task.setTitle(title);
    ?89????????task.setDetail?(detail);
    ?90????????for?(TaskTemplate?subTaskTemplate:?getSubTasks?())?{
    ?91????????????task.addSubTask?(subTaskTemplate.createTask());
    ?92????????}

    ?93????????createdTask?=?task;
    ?94????????return?task;
    ?95????}

    ?96????
    ?97????/**
    ?98?????*?@param?template
    ?99?????*?@return
    100?????*?This?method?should?be?in?TaskServiceImpl,?the?complete?implementation?should?be?
    101?????*?public?Task?createTaskFromTemplate?(String?templateId)?{
    102?????*??????TaskTemplate?template?=?(TaskTemplate)?findByPrimaryKey?(templateId,?TaskTemplate.class);
    103?????*??????Task?task?=?template.createTask?();
    104?????*??????template.fillPreconditionAfterCreateTask();
    105?????*??????insert?(task);
    106?????*??????return?task;
    107?????*?}
    108?????*?
    109?????*/

    110????public?static?Task?createTaskFromTemplate(TaskTemplate?template)?{
    111????????Task?task?=?template.createTask?();
    112????????template.fillPreconitionAfterCreateTask?();
    113????????return?task;
    114????}

    115
    116
    117}
    posted on 2006-12-01 10:25 黑咖啡 閱讀(365) 評論(0)  編輯  收藏 所屬分類: Coding Review

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    <2006年12月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    留言簿(2)

    隨筆分類(67)

    文章分類(43)

    Good Article

    Good Blogs

    Open Source

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级黄色毛片免费看| 国产亚洲精品VA片在线播放| 无人视频免费观看免费视频| 国产又粗又长又硬免费视频| 亚洲av无码一区二区三区在线播放| 最近中文字幕mv免费高清视频7| 亚洲人成综合网站7777香蕉| 四虎免费大片aⅴ入口| 婷婷亚洲综合一区二区| 免费国产a国产片高清| 四虎影视久久久免费观看| 国产中文在线亚洲精品官网| 精选影视免费在线 | 亚洲AV无码久久寂寞少妇| 88av免费观看| 亚洲中文字幕无码亚洲成A人片 | 日韩免费无码视频一区二区三区| 亚洲人成网77777亚洲色| 久久久免费的精品| 亚洲视频手机在线| 成人黄18免费视频| 永久免费观看黄网站| 久久精品国产亚洲av麻| 亚洲w码欧洲s码免费| 亚洲av无码兔费综合| 亚洲日韩乱码中文无码蜜桃臀网站| 久久国产精品免费视频| 国产精品亚洲一区二区麻豆| 免费国产在线观看| 免费国产99久久久香蕉| 亚洲精品免费网站| 中文字幕亚洲乱码熟女一区二区| 三年片在线观看免费大全电影| 久久夜色精品国产噜噜亚洲a| 夜色阁亚洲一区二区三区| 成人性生交大片免费看好 | 国产精品亚洲精品久久精品 | 亚洲精品成人在线| 无码av免费一区二区三区试看| 亚洲夂夂婷婷色拍WW47| 黑人大战亚洲人精品一区|