Package cruise.umple.compiler
Class Requirement
java.lang.Object
cruise.umple.compiler.Requirement
public class Requirement
extends java.lang.Object
Represents a requirement, such as those found around
classes, methods, attributes, associations, stateMachines, states, etc.
If multiple occurrences of a requirement are found, their statements are concatenated
and a single instance is created.
If the language of two occurrences differs (and neither is blank) the the latter occurrences
is ignored with warning 401
All instances of this class are tracked in the instance of Model
with the map allRequirements, whose key is the identifier
-
Constructor Summary
Constructors Constructor Description Requirement(Requirement aReq)deep copy constructorRequirement(java.lang.String aIdentifier, java.lang.String aStatement, java.lang.String aWho, java.lang.String aWhen, java.lang.String aWhat, java.lang.String aWhy, java.lang.String aLanguage) -
Method Summary
Modifier and Type Method Description booleanaddOrMoveQualityClassAt(QualityClass aQualityClass, int index)booleanaddOrMoveReqImplementationAt(ReqImplementation aReqImplementation, int index)booleanaddOrMoveReqTokenAt(Token aReqToken, int index)booleanaddOrMoveUseCaseStepAt(UseCaseStep aUseCaseStep, int index)booleanaddQualityClass(QualityClass aQualityClass)QualityClassaddQualityClass(java.lang.String aName, java.lang.String aContent)booleanaddQualityClassAt(QualityClass aQualityClass, int index)booleanaddReqImplementation(ReqImplementation aReqImplementation)booleanaddReqImplementationAt(ReqImplementation aReqImplementation, int index)booleanaddReqToken(Token aReqToken)booleanaddReqTokenAt(Token aReqToken, int index)booleanaddUseCaseStep(UseCaseStep aUseCaseStep)UseCaseStepaddUseCaseStep(java.lang.String aId, UseCaseStep.UseCaseStepType aStepType, java.lang.String aContent)booleanaddUseCaseStepAt(UseCaseStep aUseCaseStep, int index)static java.util.List<Comment>convertToComment(java.util.List<ReqImplementation> reqSelected, UmpleModel aModel)voiddelete()static java.lang.Stringformat(java.lang.String type, java.util.List<ReqImplementation> reqSelected, UmpleModel aModel)java.lang.StringgetBodyDisplayText(java.lang.String separator)Returns the requirement body text so renderers can output body and quality separately.java.lang.StringgetDisplayStatement()java.lang.StringgetIdentifier()A unique identifier for this requirement Alphanumeric, with -, .java.lang.StringgetLanguage()The requirements language used to express this requirement can be blank, then 'text' is assumed Other languages can be added e.g.QualityClassgetQualityClass(int index)java.util.List<QualityClass>getQualityClasses()Quality classes defined within this requirement format: `req[quality|Quality] {( {...})*}` java.lang.StringgetQualityClassNamesSummary()ReqImplementationgetReqImplementation(int index)java.util.List<ReqImplementation>getReqImplementations()java.util.List<Token>getReqToken()List of tokens where the requirement was found Used when reporting errors regarding missing implementations and when reporting where a requirement is located in the codeTokengetReqToken(int index)java.lang.StringgetStatement()The content of the requirement, expressed in the languageUseCaseStepgetUseCaseStep(int index)java.util.List<UseCaseStep>getUseCaseSteps()Ordered structured use case steps such as userStep/systemResponsejava.lang.StringgetUserStoryDisplayText(java.lang.String separator)format logic moved from cruise.umple/src/generators/Generator_CodePlainRequirementsDoc.ump:generator()java.lang.StringgetWhat()java.lang.StringgetWhen()java.lang.StringgetWho()Structured user story elementsjava.lang.StringgetWhy()booleanhasQualityClasses()booleanhasReqImplementations()booleanhasReqToken()booleanhasStructuredUserStoryFields()booleanhasUseCaseSteps()intindexOfQualityClass(QualityClass aQualityClass)intindexOfReqImplementation(ReqImplementation aReqImplementation)intindexOfReqToken(Token aReqToken)intindexOfUseCaseStep(UseCaseStep aUseCaseStep)static intminimumNumberOfQualityClasses()static intminimumNumberOfReqImplementations()static intminimumNumberOfReqToken()static intminimumNumberOfUseCaseSteps()intnumberOfQualityClasses()intnumberOfReqImplementations()intnumberOfReqToken()intnumberOfUseCaseSteps()booleanremoveQualityClass(QualityClass aQualityClass)booleanremoveReqImplementation(ReqImplementation aReqImplementation)booleanremoveReqToken(Token aReqToken)booleanremoveUseCaseStep(UseCaseStep aUseCaseStep)booleansetIdentifier(java.lang.String aIdentifier)booleansetLanguage(java.lang.String aLanguage)booleansetStatement(java.lang.String aStatement)booleansetWhat(java.lang.String aWhat)booleansetWhen(java.lang.String aWhen)booleansetWho(java.lang.String aWho)booleansetWhy(java.lang.String aWhy)java.lang.StringtoString()static java.lang.StringtranslateToHTML(java.lang.String content, java.lang.String lang)
-
Constructor Details
-
Requirement
public Requirement(java.lang.String aIdentifier, java.lang.String aStatement, java.lang.String aWho, java.lang.String aWhen, java.lang.String aWhat, java.lang.String aWhy, java.lang.String aLanguage) -
Requirement
deep copy constructor
-
-
Method Details
-
setIdentifier
public boolean setIdentifier(java.lang.String aIdentifier) -
setStatement
public boolean setStatement(java.lang.String aStatement) -
setWho
public boolean setWho(java.lang.String aWho) -
setWhen
public boolean setWhen(java.lang.String aWhen) -
setWhat
public boolean setWhat(java.lang.String aWhat) -
setWhy
public boolean setWhy(java.lang.String aWhy) -
setLanguage
public boolean setLanguage(java.lang.String aLanguage) -
getIdentifier
public java.lang.String getIdentifier()A unique identifier for this requirement Alphanumeric, with -, . and _ allowed TODO: add an Umple 'key' statement for this. -
getStatement
public java.lang.String getStatement()The content of the requirement, expressed in the language -
getWho
public java.lang.String getWho()Structured user story elements -
getWhen
public java.lang.String getWhen() -
getWhat
public java.lang.String getWhat() -
getWhy
public java.lang.String getWhy() -
getLanguage
public java.lang.String getLanguage()The requirements language used to express this requirement can be blank, then 'text' is assumed Other languages can be added e.g. GRL = Goal Requirement Language -
getReqToken
-
getReqToken
List of tokens where the requirement was found Used when reporting errors regarding missing implementations and when reporting where a requirement is located in the code -
numberOfReqToken
public int numberOfReqToken() -
hasReqToken
public boolean hasReqToken() -
indexOfReqToken
-
getUseCaseStep
-
getUseCaseSteps
Ordered structured use case steps such as userStep/systemResponse -
numberOfUseCaseSteps
public int numberOfUseCaseSteps() -
hasUseCaseSteps
public boolean hasUseCaseSteps() -
indexOfUseCaseStep
-
getQualityClass
-
getQualityClasses
Quality classes defined within this requirement format: `req[quality|Quality] {( {...})*}` -
numberOfQualityClasses
public int numberOfQualityClasses() -
hasQualityClasses
public boolean hasQualityClasses() -
indexOfQualityClass
-
getReqImplementation
-
getReqImplementations
-
numberOfReqImplementations
public int numberOfReqImplementations() -
hasReqImplementations
public boolean hasReqImplementations() -
indexOfReqImplementation
-
minimumNumberOfReqToken
public static int minimumNumberOfReqToken() -
addReqToken
-
removeReqToken
-
addReqTokenAt
-
addOrMoveReqTokenAt
-
minimumNumberOfUseCaseSteps
public static int minimumNumberOfUseCaseSteps() -
addUseCaseStep
public UseCaseStep addUseCaseStep(java.lang.String aId, UseCaseStep.UseCaseStepType aStepType, java.lang.String aContent) -
addUseCaseStep
-
removeUseCaseStep
-
addUseCaseStepAt
-
addOrMoveUseCaseStepAt
-
minimumNumberOfQualityClasses
public static int minimumNumberOfQualityClasses() -
addQualityClass
-
addQualityClass
-
removeQualityClass
-
addQualityClassAt
-
addOrMoveQualityClassAt
-
minimumNumberOfReqImplementations
public static int minimumNumberOfReqImplementations() -
addReqImplementation
-
removeReqImplementation
-
addReqImplementationAt
-
addOrMoveReqImplementationAt
-
delete
public void delete() -
hasStructuredUserStoryFields
public boolean hasStructuredUserStoryFields() -
getUserStoryDisplayText
public java.lang.String getUserStoryDisplayText(java.lang.String separator)format logic moved from cruise.umple/src/generators/Generator_CodePlainRequirementsDoc.ump:generator() -
getBodyDisplayText
public java.lang.String getBodyDisplayText(java.lang.String separator)Returns the requirement body text so renderers can output body and quality separately. -
getQualityClassNamesSummary
public java.lang.String getQualityClassNamesSummary() -
getDisplayStatement
public java.lang.String getDisplayStatement() -
convertToComment
public static java.util.List<Comment> convertToComment(java.util.List<ReqImplementation> reqSelected, UmpleModel aModel) -
format
public static java.lang.String format(java.lang.String type, java.util.List<ReqImplementation> reqSelected, UmpleModel aModel) -
translateToHTML
public static java.lang.String translateToHTML(java.lang.String content, java.lang.String lang) -
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-