github.com/GeniusesGroup/libgo@v0.0.0-20220929090155-5ff932cb408e/protocol/detail.go (about)

     1  /* For license and copyright information please see LEGAL file in repository */
     2  
     3  package protocol
     4  
     5  type Details interface {
     6  	Details() []Detail
     7  	Detail(lang LanguageID) Detail
     8  }
     9  
    10  // Detail is some piece of information that write for humans to understand some thing
    11  type Detail interface {
    12  	Language() LanguageID
    13  	// Domain return locale domain name that MediaType belongs to it.
    14  	// More user friendly domain name to show to users on screens.
    15  	Domain() string
    16  	// Summary return locale general summary text that gives the main points in a concise form.
    17  	// Usually it is one line text to shown in the '<app> help' output of service or notify errors to user.
    18  	Summary() string
    19  	// Overview return locale general text that gives the main ideas without explaining all the details.
    20  	// Usually it is multi line text to shown in the '<app> help <this-command>' output or expand error details in GUI screen.
    21  	Overview() string
    22  	// UserNote return locale note that user do when face this MediaType
    23  	// Description text that gives the main ideas with explaining all the details and purposes.
    24  	UserNote() string
    25  	// DevNote return locale technical advice for developers
    26  	// Description text that gives the main ideas with explaining all the details and purposes.
    27  	DevNote() string
    28  	// TAGS return locale MediaType tags to sort MediaType in groups for any purpose e.g. in GUI to help org manager to give service delegate authorization to staffs.
    29  	TAGS() []string
    30  }