<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
    下面的代碼表現(xiàn)出使用set 帶來(lái)的好處。
    ??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) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Coding Review

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

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

    留言簿(2)

    隨筆分類(lèi)(67)

    文章分類(lèi)(43)

    Good Article

    Good Blogs

    Open Source

    最新隨筆

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 最近新韩国日本免费观看| 亚洲成av人片不卡无码| 亚洲欧洲国产视频| 亚洲av无码成人影院一区| 国精产品一区一区三区免费视频 | 抽搐一进一出gif免费视频| 99re在线免费视频| 亚洲av日韩片在线观看| 亚洲第一成年网站大全亚洲| 牛牛在线精品免费视频观看| 57pao国产成视频免费播放| 无码国产亚洲日韩国精品视频一区二区三区| 亚洲电影一区二区| 精品在线观看免费| 国产免费不卡视频| 亚洲人成色77777| 亚洲精品蜜夜内射| 在线观看免费av网站| 亚洲真人日本在线| 亚洲精品天堂在线观看| 国产99视频精品免费专区| 四虎影库久免费视频| 亚洲a级成人片在线观看| 成人性生交大片免费看中文| 国产精品成人无码免费| 亚洲AV成人无码天堂| 全免费a级毛片免费看| 亚洲av麻豆aⅴ无码电影| 国产午夜亚洲精品国产| 99re免费视频| 久久亚洲综合色一区二区三区| 国产精品成人亚洲| 一个人免费观看www视频在线| 又粗又黄又猛又爽大片免费| 亚洲的天堂av无码| 日本在线免费播放| 久久亚洲精品无码播放| 相泽南亚洲一区二区在线播放| 999在线视频精品免费播放观看| 久久久久无码精品亚洲日韩| sihu国产精品永久免费|