diff --git a/uml/UML.puml b/uml/UML.puml deleted file mode 100644 index c70276d..0000000 --- a/uml/UML.puml +++ /dev/null @@ -1,337 +0,0 @@ -@startuml -class cc.liuyx.note.alarm.PlanDatabase { -+ {static} String TABLE_NAME -+ {static} String TITLE -+ {static} String CONTENT -+ {static} String ID -+ {static} String TIME -+ {static} String MODE -+ void onCreate(SQLiteDatabase) -+ void onUpgrade(SQLiteDatabase,int,int) -} -abstract class cc.liuyx.note.BaseActivity { -+ String TAG -+ String ACTION -# BroadcastReceiver receiver -# IntentFilter filter -# void onCreate(Bundle) -+ boolean isNightMode() -+ void setNightMode() -# {abstract}void needRefresh() -+ void onDestroy() -+ long calStrToSec(String) -} -class cc.liuyx.note.entity.Note { -- long id -- String content -- String time -- int tag -+ long getId() -+ String getContent() -+ String getTime() -+ void setId(long) -+ void setContent(String) -+ void setTime(String) -+ String toString() -+ int getTag() -+ void setTag(int) -} -class cc.liuyx.note.alarm.PlanAdapter { -- Context mContext -- List backList -- List planList -~ PlanAdapter.MyFilter mFilter -+ int getCount() -+ Object getItem(int) -+ long getItemId(int) -+ View getView(int,View,ViewGroup) -+ Filter getFilter() -} -class cc.liuyx.note.alarm.PlanAdapter$MyFilter { -# FilterResults performFiltering(CharSequence) -# void publishResults(CharSequence,FilterResults) -} -class cc.liuyx.note.db.CRUD { -~ SQLiteOpenHelper dbHandler -~ SQLiteDatabase db -- {static} String[] columns -+ void open() -+ void close() -+ void addNote(Note) -+ Note getNote(long) -+ List getAllNotes() -+ void updateNote(Note) -+ void removeNote(Note) -} -class cc.liuyx.note.adapter.NoteAdapter { -- Context mContext -- List backList -- List noteList -- MyFilter mFilter -+ int getCount() -+ Object getItem(int) -+ long getItemId(int) -+ View getView(int,View,ViewGroup) -+ Filter getFilter() -} -class cc.liuyx.note.adapter.NoteAdapter$MyFilter { -# FilterResults performFiltering(CharSequence) -# void publishResults(CharSequence,FilterResults) -} -class cc.liuyx.note.FabColorActivity { -- Toolbar myToolbar -- int openMode -- SharedPreferences sharedPreferences -- ImageView q -# void onCreate(Bundle) -- void initImageView() -- void chooseCurFabColor(int) -- void setClick() -+ void onClick(View) -+ boolean onKeyDown(int,KeyEvent) -} -class com.example.atry.ExampleInstrumentedTest { -+ void useAppContext() -} -class cc.liuyx.note.alarm.AlarmReceiver { -- String channelId -- String name -+ void onReceive(Context,Intent) -} -class cc.liuyx.note.UserSettingsActivity { -- Switch nightMode -- Switch reverseSort -- LinearLayout fabColor -- LinearLayout fabPlanColor -- Switch noteTitle -- SharedPreferences sharedPreferences -- {static} boolean night_change -# void onCreate(Bundle) -# void needRefresh() -- void initView() -# void onActivityResult(int,int,Intent) -- void setSelfNightMode() -- void setNightModePref(boolean) -+ boolean onKeyDown(int,KeyEvent) -} -class cc.liuyx.note.alarm.Plan { -- long id -- String title -- String content -- Calendar planTime -+ int getYear() -+ int getMonth() -+ int getDay() -+ int getHour() -+ int getMinute() -+ long getId() -+ void setId(long) -+ String getTitle() -+ void setTitle(String) -+ String getContent() -+ void setContent(String) -+ Calendar getPlanTime() -+ String getTime() -+ void setTime(String) -} -class cc.liuyx.note.adapter.TagAdapter { -- Context context -- List tagList -- List numList -+ int getCount() -+ Object getItem(int) -+ long getItemId(int) -+ View getView(int,View,ViewGroup) -} -class cc.liuyx.note.alarm.CRUD { -~ SQLiteOpenHelper dbHandler -~ SQLiteDatabase db -- {static} String[] columns -+ void open() -+ void close() -+ Plan addPlan(Plan) -+ Plan getPlan(long) -+ List getAllPlans() -+ int updatePlan(Plan) -+ void removePlan(Plan) -} -class cc.liuyx.note.alarm.EditAlarmActivity { -- DatePickerDialog.OnDateSetListener dateSetListener -- TimePickerDialog.OnTimeSetListener timeSetListener -- EditText et_title -- EditText et -- Button set_date -- Button set_time -- TextView date -- TextView time -- Plan plan -- int[] dateArray -- int[] timeArray -- int openMode -- String old_title -- String old_content -- String old_time -- long id -- boolean timeChange -# void onCreate(Bundle) -+ boolean onKeyDown(int,KeyEvent) -+ boolean onCreateOptionsMenu(Menu) -+ boolean onOptionsItemSelected(MenuItem) -# void needRefresh() -- void init() -- void setDateTV(int,int,int) -- void setTimeTV(int,int) -+ void onClick(View) -- void isTimeChange() -- boolean canBeSet() -} -class cc.liuyx.note.MainActivity { -- NoteDatabase dbHelper -- PlanDatabase planDbHelper -- FloatingActionButton fab -- FloatingActionButton fab_alarm -- ListView lv -- ListView lv_plan -- LinearLayout lv_layout -- LinearLayout lv_plan_layout -- Context context -- NoteAdapter adapter -- PlanAdapter planAdapter -- List noteList -- List planList -- TextView mEmptyView -- Toolbar myToolbar -- PopupWindow popupWindow -- PopupWindow popupCover -- LayoutInflater layoutInflater -- RelativeLayout main -- ViewGroup customView -- ViewGroup coverView -- WindowManager wm -- DisplayMetrics metrics -- TagAdapter tagAdapter -- TextView setting_text -- ImageView setting_image -- ListView lv_tag -- TextView add_tag -- BroadcastReceiver myReceiver -- Achievement achievement -- SharedPreferences sharedPreferences -- Switch content_switch -- AlarmManager alarmManager -~ String[] list_String -# void onCreate(Bundle) -- void showPopUpWindow() -- void refreshTagList() -- void resetTagsX(AdapterView) -# void needRefresh() -+ void initView() -- void refreshLvVisibility() -+ void initPopupView() -- void initPrefs() -+ boolean onCreateOptionsMenu(Menu) -+ boolean onOptionsItemSelected(MenuItem) -+ void refreshListView() -- void chooseFabColor(int) -- void chooseFabPlanColor(int) -+ void onItemClick(AdapterView,View,int,long) -# void onActivityResult(int,int,Intent) -+ boolean onItemLongClick(AdapterView,View,int,long) -+ void sortNotes(List,int) -+ void sortPlans(List,int) -+ long dateStrToSec(String) -+ List numOfTagNotes(List) -+ int npLong(Long) -+ void onDestroy() -- void startAlarm(Plan) -- void startAlarms(List) -- void cancelAlarm(Plan) -- void cancelAlarms(List) -+ void onResume() -} -class cc.liuyx.note.MainActivity$Achievement { -- SharedPreferences sharedPreferences -- int noteNumber -- int wordNumber -- int noteLevel -- int wordLevel -- void getPref() -- void initPref() -- void addCurrent(List) -+ void addNote(String) -+ void deleteNote() -+ void editNote(String,String) -+ void noteNumberAchievement(int) -+ void wordNumberAchievement(int) -+ void announcement(String,int,int) -+ String annoucementTitle(int,int) -+ void setState(int) -+ void listen() -+ void resetAll() -} -class cc.liuyx.note.EditActivity { -- NoteDatabase dbHelper -- Context context -- EditText et -- String old_content -- String old_time -- int old_Tag -- long id -- int openMode -- int tag -- boolean tagChange -# void onCreate(Bundle) -# void needRefresh() -+ boolean onCreateOptionsMenu(Menu) -+ boolean onKeyDown(int,KeyEvent) -+ boolean onOptionsItemSelected(MenuItem) -+ String dateToStr() -- void deleteNote(Intent) -} -class cc.liuyx.note.entity.SpinnerItem { -- String tagName -- int tagId -+ String getTagName() -+ void setTagName(String) -+ int getTagId() -+ void setTagId(int) -} -class cc.liuyx.note.db.NoteDatabase { -+ {static} String TABLE_NAME -+ {static} String CONTENT -+ {static} String ID -+ {static} String TIME -+ {static} String MODE -+ void onCreate(SQLiteDatabase) -+ void onUpgrade(SQLiteDatabase,int,int) -- void updateMode(SQLiteDatabase) -} -class com.example.atry.ExampleUnitTest { -+ void addition_isCorrect() -} - - -android.database.sqlite.SQLiteOpenHelper <|-- cc.liuyx.note.alarm.PlanDatabase -android.support.v7.app.AppCompatActivity <|-- cc.liuyx.note.BaseActivity -android.widget.Filterable <|.. cc.liuyx.note.alarm.PlanAdapter -android.widget.BaseAdapter <|-- cc.liuyx.note.alarm.PlanAdapter -cc.liuyx.note.alarm.PlanAdapter +.. cc.liuyx.note.alarm.PlanAdapter$MyFilter -cc.liuyx.note.alarm.Filter <|-- cc.liuyx.note.alarm.PlanAdapter$MyFilter -android.widget.Filterable <|.. cc.liuyx.note.adapter.NoteAdapter -android.widget.BaseAdapter <|-- cc.liuyx.note.adapter.NoteAdapter -cc.liuyx.note.adapter.NoteAdapter +.. cc.liuyx.note.adapter.NoteAdapter$MyFilter -cc.liuyx.note.adapter.Filter <|-- cc.liuyx.note.adapter.NoteAdapter$MyFilter -cc.liuyx.note.OnClickListener <|.. cc.liuyx.note.FabColorActivity -android.support.v7.app.AppCompatActivity <|-- cc.liuyx.note.FabColorActivity -android.content.BroadcastReceiver <|-- cc.liuyx.note.alarm.AlarmReceiver -cc.liuyx.note.BaseActivity <|-- cc.liuyx.note.UserSettingsActivity -android.widget.BaseAdapter <|-- cc.liuyx.note.adapter.TagAdapter -cc.liuyx.note.alarm.OnClickListener <|.. cc.liuyx.note.alarm.EditAlarmActivity -cc.liuyx.note.BaseActivity <|-- cc.liuyx.note.alarm.EditAlarmActivity -android.widget.AdapterView.OnItemClickListener <|.. cc.liuyx.note.MainActivity -android.widget.AdapterView.OnItemLongClickListener <|.. cc.liuyx.note.MainActivity -cc.liuyx.note.BaseActivity <|-- cc.liuyx.note.MainActivity -cc.liuyx.note.MainActivity +.. cc.liuyx.note.MainActivity$Achievement -cc.liuyx.note.BaseActivity <|-- cc.liuyx.note.EditActivity -android.database.sqlite.SQLiteOpenHelper <|-- cc.liuyx.note.db.NoteDatabase -@enduml \ No newline at end of file diff --git a/uml/activity.puml b/uml/activity.puml index 639f824..2ca3560 100644 --- a/uml/activity.puml +++ b/uml/activity.puml @@ -1,5 +1,5 @@ @startuml -class cc.liuyx.note.UserSettingsActivity { +class cc.liuyx.note.activity.UserSettingsActivity { - Switch nightMode - Switch reverseSort - LinearLayout fabColor @@ -15,7 +15,37 @@ class cc.liuyx.note.UserSettingsActivity { - void setNightModePref(boolean) + boolean onKeyDown(int,KeyEvent) } -class cc.liuyx.note.FabColorActivity { +class cc.liuyx.note.activity.UserSettingsActivity$EditAlarmActivity { +- DatePickerDialog.OnDateSetListener dateSetListener +- TimePickerDialog.OnTimeSetListener timeSetListener +- EditText et_title +- EditText et +- Button set_date +- Button set_time +- TextView date +- TextView time +- Plan plan +- int[] dateArray +- int[] timeArray +- int openMode +- String old_title +- String old_content +- String old_time +- long id +- boolean timeChange +# void onCreate(Bundle) ++ boolean onKeyDown(int,KeyEvent) ++ boolean onCreateOptionsMenu(Menu) ++ boolean onOptionsItemSelected(MenuItem) +# void needRefresh() +- void init() +- void setDateTV(int,int,int) +- void setTimeTV(int,int) ++ void onClick(View) +- void isTimeChange() +- boolean canBeSet() +} +class cc.liuyx.note.activity.FabColorActivity { - Toolbar myToolbar - int openMode - SharedPreferences sharedPreferences @@ -27,7 +57,7 @@ class cc.liuyx.note.FabColorActivity { + void onClick(View) + boolean onKeyDown(int,KeyEvent) } -class cc.liuyx.note.EditActivity { +class cc.liuyx.note.activity.EditActivity { - NoteDatabase dbHelper - Context context - EditText et @@ -46,7 +76,11 @@ class cc.liuyx.note.EditActivity { + String dateToStr() - void deleteNote(Intent) } -class cc.liuyx.note.MainActivity { +class cc.liuyx.note.activity.AboutActivity { +# void onCreate(Bundle) +# void needRefresh() +} +class cc.liuyx.note.activity.MainActivity { - NoteDatabase dbHelper - PlanDatabase planDbHelper - FloatingActionButton fab @@ -73,6 +107,8 @@ class cc.liuyx.note.MainActivity { - TagAdapter tagAdapter - TextView setting_text - ImageView setting_image +- TextView about_text +- ImageView about_image - ListView lv_tag - TextView add_tag - BroadcastReceiver myReceiver @@ -110,7 +146,7 @@ class cc.liuyx.note.MainActivity { - void cancelAlarms(List) + void onResume() } -class cc.liuyx.note.MainActivity$Achievement { +class cc.liuyx.note.activity.MainActivity$Achievement { - SharedPreferences sharedPreferences - int noteNumber - int wordNumber @@ -130,7 +166,7 @@ class cc.liuyx.note.MainActivity$Achievement { + void listen() + void resetAll() } -abstract class cc.liuyx.note.BaseActivity { +abstract class cc.liuyx.note.activity.BaseActivity { + String TAG + String ACTION # BroadcastReceiver receiver @@ -144,13 +180,17 @@ abstract class cc.liuyx.note.BaseActivity { } -cc.liuyx.note.BaseActivity <|-- cc.liuyx.note.UserSettingsActivity -cc.liuyx.note.OnClickListener <|.. cc.liuyx.note.FabColorActivity -android.support.v7.app.AppCompatActivity <|-- cc.liuyx.note.FabColorActivity -cc.liuyx.note.BaseActivity <|-- cc.liuyx.note.EditActivity -android.widget.AdapterView.OnItemClickListener <|.. cc.liuyx.note.MainActivity -android.widget.AdapterView.OnItemLongClickListener <|.. cc.liuyx.note.MainActivity -cc.liuyx.note.BaseActivity <|-- cc.liuyx.note.MainActivity -cc.liuyx.note.MainActivity +.. cc.liuyx.note.MainActivity$Achievement -android.support.v7.app.AppCompatActivity <|-- cc.liuyx.note.BaseActivity +cc.liuyx.note.activity.BaseActivity <|-- cc.liuyx.note.activity.UserSettingsActivity +cc.liuyx.note.activity.UserSettingsActivity +.. cc.liuyx.note.activity.UserSettingsActivity$EditAlarmActivity +cc.liuyx.note.activity.OnClickListener <|.. cc.liuyx.note.activity.UserSettingsActivity$EditAlarmActivity +cc.liuyx.note.activity.BaseActivity <|-- cc.liuyx.note.activity.UserSettingsActivity$EditAlarmActivity +cc.liuyx.note.activity.OnClickListener <|.. cc.liuyx.note.activity.FabColorActivity +android.support.v7.app.AppCompatActivity <|-- cc.liuyx.note.activity.FabColorActivity +cc.liuyx.note.activity.BaseActivity <|-- cc.liuyx.note.activity.EditActivity +cc.liuyx.note.activity.BaseActivity <|-- cc.liuyx.note.activity.AboutActivity +android.widget.AdapterView.OnItemClickListener <|.. cc.liuyx.note.activity.MainActivity +android.widget.AdapterView.OnItemLongClickListener <|.. cc.liuyx.note.activity.MainActivity +cc.liuyx.note.activity.BaseActivity <|-- cc.liuyx.note.activity.MainActivity +cc.liuyx.note.activity.MainActivity +.. cc.liuyx.note.activity.MainActivity$Achievement +android.support.v7.app.AppCompatActivity <|-- cc.liuyx.note.activity.BaseActivity @enduml \ No newline at end of file diff --git a/uml/adapter.puml b/uml/adapter.puml index a0b8ea6..8de52f9 100644 --- a/uml/adapter.puml +++ b/uml/adapter.puml @@ -23,6 +23,21 @@ class cc.liuyx.note.adapter.NoteAdapter$MyFilter { # FilterResults performFiltering(CharSequence) # void publishResults(CharSequence,FilterResults) } +class cc.liuyx.note.adapter.PlanAdapter { +- Context mContext +- List backList +- List planList +~ PlanAdapter.MyFilter mFilter ++ int getCount() ++ Object getItem(int) ++ long getItemId(int) ++ View getView(int,View,ViewGroup) ++ Filter getFilter() +} +class cc.liuyx.note.adapter.PlanAdapter$MyFilter { +# FilterResults performFiltering(CharSequence) +# void publishResults(CharSequence,FilterResults) +} android.widget.BaseAdapter <|-- cc.liuyx.note.adapter.TagAdapter @@ -30,4 +45,8 @@ android.widget.Filterable <|.. cc.liuyx.note.adapter.NoteAdapter android.widget.BaseAdapter <|-- cc.liuyx.note.adapter.NoteAdapter cc.liuyx.note.adapter.NoteAdapter +.. cc.liuyx.note.adapter.NoteAdapter$MyFilter cc.liuyx.note.adapter.Filter <|-- cc.liuyx.note.adapter.NoteAdapter$MyFilter +android.widget.Filterable <|.. cc.liuyx.note.adapter.PlanAdapter +android.widget.BaseAdapter <|-- cc.liuyx.note.adapter.PlanAdapter +cc.liuyx.note.adapter.PlanAdapter +.. cc.liuyx.note.adapter.PlanAdapter$MyFilter +cc.liuyx.note.adapter.Filter <|-- cc.liuyx.note.adapter.PlanAdapter$MyFilter @enduml \ No newline at end of file diff --git a/uml/alarm.puml b/uml/alarm.puml index 0b50581..a94a2c0 100644 --- a/uml/alarm.puml +++ b/uml/alarm.puml @@ -1,91 +1,4 @@ @startuml -class cc.liuyx.note.alarm.PlanDatabase { -+ {static} String TABLE_NAME -+ {static} String TITLE -+ {static} String CONTENT -+ {static} String ID -+ {static} String TIME -+ {static} String MODE -+ void onCreate(SQLiteDatabase) -+ void onUpgrade(SQLiteDatabase,int,int) -} -class cc.liuyx.note.alarm.Plan { -- long id -- String title -- String content -- Calendar planTime -+ int getYear() -+ int getMonth() -+ int getDay() -+ int getHour() -+ int getMinute() -+ long getId() -+ void setId(long) -+ String getTitle() -+ void setTitle(String) -+ String getContent() -+ void setContent(String) -+ Calendar getPlanTime() -+ String getTime() -+ void setTime(String) -} -class cc.liuyx.note.alarm.PlanAdapter { -- Context mContext -- List backList -- List planList -~ PlanAdapter.MyFilter mFilter -+ int getCount() -+ Object getItem(int) -+ long getItemId(int) -+ View getView(int,View,ViewGroup) -+ Filter getFilter() -} -class cc.liuyx.note.alarm.PlanAdapter$MyFilter { -# FilterResults performFiltering(CharSequence) -# void publishResults(CharSequence,FilterResults) -} -class cc.liuyx.note.alarm.CRUD { -~ SQLiteOpenHelper dbHandler -~ SQLiteDatabase db -- {static} String[] columns -+ void open() -+ void close() -+ Plan addPlan(Plan) -+ Plan getPlan(long) -+ List getAllPlans() -+ int updatePlan(Plan) -+ void removePlan(Plan) -} -class cc.liuyx.note.alarm.EditAlarmActivity { -- DatePickerDialog.OnDateSetListener dateSetListener -- TimePickerDialog.OnTimeSetListener timeSetListener -- EditText et_title -- EditText et -- Button set_date -- Button set_time -- TextView date -- TextView time -- Plan plan -- int[] dateArray -- int[] timeArray -- int openMode -- String old_title -- String old_content -- String old_time -- long id -- boolean timeChange -# void onCreate(Bundle) -+ boolean onKeyDown(int,KeyEvent) -+ boolean onCreateOptionsMenu(Menu) -+ boolean onOptionsItemSelected(MenuItem) -# void needRefresh() -- void init() -- void setDateTV(int,int,int) -- void setTimeTV(int,int) -+ void onClick(View) -- void isTimeChange() -- boolean canBeSet() -} class cc.liuyx.note.alarm.AlarmReceiver { - String channelId - String name @@ -93,12 +6,5 @@ class cc.liuyx.note.alarm.AlarmReceiver { } -android.database.sqlite.SQLiteOpenHelper <|-- cc.liuyx.note.alarm.PlanDatabase -android.widget.Filterable <|.. cc.liuyx.note.alarm.PlanAdapter -android.widget.BaseAdapter <|-- cc.liuyx.note.alarm.PlanAdapter -cc.liuyx.note.alarm.PlanAdapter +.. cc.liuyx.note.alarm.PlanAdapter$MyFilter -cc.liuyx.note.alarm.Filter <|-- cc.liuyx.note.alarm.PlanAdapter$MyFilter -cc.liuyx.note.alarm.OnClickListener <|.. cc.liuyx.note.alarm.EditAlarmActivity -cc.liuyx.note.BaseActivity <|-- cc.liuyx.note.alarm.EditAlarmActivity android.content.BroadcastReceiver <|-- cc.liuyx.note.alarm.AlarmReceiver @enduml \ No newline at end of file diff --git a/uml/db.puml b/uml/db.puml index 0f72ea8..177f497 100644 --- a/uml/db.puml +++ b/uml/db.puml @@ -1,15 +1,25 @@ @startuml -class cc.liuyx.note.db.CRUD { +class cc.liuyx.note.db.PlanCRUD { ~ SQLiteOpenHelper dbHandler ~ SQLiteDatabase db - {static} String[] columns + void open() + void close() -+ void addNote(Note) -+ Note getNote(long) -+ List getAllNotes() -+ void updateNote(Note) -+ void removeNote(Note) ++ void addPlan(Plan) ++ Plan getPlan(long) ++ List getAllPlans() ++ int updatePlan(Plan) ++ void removePlan(Plan) +} +class cc.liuyx.note.db.PlanDatabase { ++ {static} String TABLE_NAME ++ {static} String TITLE ++ {static} String CONTENT ++ {static} String ID ++ {static} String TIME ++ {static} String MODE ++ void onCreate(SQLiteDatabase) ++ void onUpgrade(SQLiteDatabase,int,int) } class cc.liuyx.note.db.NoteDatabase { + {static} String TABLE_NAME @@ -21,7 +31,20 @@ class cc.liuyx.note.db.NoteDatabase { + void onUpgrade(SQLiteDatabase,int,int) - void updateMode(SQLiteDatabase) } +class cc.liuyx.note.db.NoteCRUD { +~ SQLiteOpenHelper dbHandler +~ SQLiteDatabase db +- {static} String[] columns ++ void open() ++ void close() ++ void addNote(Note) ++ Note getNote(long) ++ List getAllNotes() ++ void updateNote(Note) ++ void removeNote(Note) +} +android.database.sqlite.SQLiteOpenHelper <|-- cc.liuyx.note.db.PlanDatabase android.database.sqlite.SQLiteOpenHelper <|-- cc.liuyx.note.db.NoteDatabase @enduml \ No newline at end of file diff --git a/uml/entity.puml b/uml/entity.puml new file mode 100644 index 0000000..0a9a076 --- /dev/null +++ b/uml/entity.puml @@ -0,0 +1,45 @@ +@startuml +class cc.liuyx.note.entity.Note { +- long id +- String content +- String time +- int tag ++ long getId() ++ String getContent() ++ String getTime() ++ void setId(long) ++ void setContent(String) ++ void setTime(String) ++ String toString() ++ int getTag() ++ void setTag(int) +} +class cc.liuyx.note.entity.SpinnerItem { +- String tagName +- int tagId ++ String getTagName() ++ void setTagName(String) ++ int getTagId() ++ void setTagId(int) +} +class cc.liuyx.note.entity.Plan { +- long id +- String title +- String content +- Calendar planTime ++ int getYear() ++ int getMonth() ++ int getDay() ++ int getHour() ++ int getMinute() ++ long getId() ++ void setId(long) ++ String getTitle() ++ void setTitle(String) ++ String getContent() ++ void setContent(String) ++ Calendar getPlanTime() ++ String getTime() ++ void setTime(String) +} +@enduml \ No newline at end of file