Class Requirement

java.lang.Object
cruise.umple.compiler.Requirement

public class Requirement extends 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 Details

  • Method Details

    • setIdentifier

      public boolean setIdentifier(String aIdentifier)
    • setStatement

      public boolean setStatement(String aStatement)
    • setWho

      public boolean setWho(String aWho)
    • setWhen

      public boolean setWhen(String aWhen)
    • setWhat

      public boolean setWhat(String aWhat)
    • setWhy

      public boolean setWhy(String aWhy)
    • setLanguage

      public boolean setLanguage(String aLanguage)
    • addIncludedUseCase

      public boolean addIncludedUseCase(String aIncludedUseCase)
    • removeIncludedUseCase

      public boolean removeIncludedUseCase(String aIncludedUseCase)
    • addParentUseCase

      public boolean addParentUseCase(String aParentUseCase)
    • removeParentUseCase

      public boolean removeParentUseCase(String aParentUseCase)
    • getIdentifier

      public String getIdentifier()
      A unique identifier for this requirement Alphanumeric, with -, . and _ allowed TODO: add an Umple 'key' statement for this.
    • getStatement

      public String getStatement()
      The content of the requirement, expressed in the language
    • getWho

      public String getWho()
      Structured user story elements
    • getWhen

      public String getWhen()
    • getWhat

      public String getWhat()
    • getWhy

      public String getWhy()
    • getLanguage

      public 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
    • getIncludedUseCase

      public String getIncludedUseCase(int index)
    • getIncludedUseCases

      public String[] getIncludedUseCases()
    • numberOfIncludedUseCases

      public int numberOfIncludedUseCases()
    • hasIncludedUseCases

      public boolean hasIncludedUseCases()
    • indexOfIncludedUseCase

      public int indexOfIncludedUseCase(String aIncludedUseCase)
    • getParentUseCase

      public String getParentUseCase(int index)
    • getParentUseCases

      public String[] getParentUseCases()
    • numberOfParentUseCases

      public int numberOfParentUseCases()
    • hasParentUseCases

      public boolean hasParentUseCases()
    • indexOfParentUseCase

      public int indexOfParentUseCase(String aParentUseCase)
    • getReqToken

      public Token getReqToken(int index)
    • getReqToken

      public 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 code
    • numberOfReqToken

      public int numberOfReqToken()
    • hasReqToken

      public boolean hasReqToken()
    • indexOfReqToken

      public int indexOfReqToken(Token aReqToken)
    • getUseCaseStep

      public UseCaseStep getUseCaseStep(int index)
    • getUseCaseSteps

      public List<UseCaseStep> getUseCaseSteps()
      Ordered structured use case steps such as userStep/systemResponse
    • numberOfUseCaseSteps

      public int numberOfUseCaseSteps()
    • hasUseCaseSteps

      public boolean hasUseCaseSteps()
    • indexOfUseCaseStep

      public int indexOfUseCaseStep(UseCaseStep aUseCaseStep)
    • getQualityClass

      public QualityClass getQualityClass(int index)
    • getQualityClasses

      public List<QualityClass> getQualityClasses()
      Quality classes defined within this requirement format: `req [quality|Quality] {({...})*}`
    • numberOfQualityClasses

      public int numberOfQualityClasses()
    • hasQualityClasses

      public boolean hasQualityClasses()
    • indexOfQualityClass

      public int indexOfQualityClass(QualityClass aQualityClass)
    • getReqImplementation

      public ReqImplementation getReqImplementation(int index)
    • getReqImplementations

      public List<ReqImplementation> getReqImplementations()
    • numberOfReqImplementations

      public int numberOfReqImplementations()
    • hasReqImplementations

      public boolean hasReqImplementations()
    • indexOfReqImplementation

      public int indexOfReqImplementation(ReqImplementation aReqImplementation)
    • minimumNumberOfReqToken

      public static int minimumNumberOfReqToken()
    • addReqToken

      public boolean addReqToken(Token aReqToken)
    • removeReqToken

      public boolean removeReqToken(Token aReqToken)
    • addReqTokenAt

      public boolean addReqTokenAt(Token aReqToken, int index)
    • addOrMoveReqTokenAt

      public boolean addOrMoveReqTokenAt(Token aReqToken, int index)
    • minimumNumberOfUseCaseSteps

      public static int minimumNumberOfUseCaseSteps()
    • addUseCaseStep

      public UseCaseStep addUseCaseStep(String aId, UseCaseStep.UseCaseStepType aStepType, String aContent)
    • addUseCaseStep

      public boolean addUseCaseStep(UseCaseStep aUseCaseStep)
    • removeUseCaseStep

      public boolean removeUseCaseStep(UseCaseStep aUseCaseStep)
    • addUseCaseStepAt

      public boolean addUseCaseStepAt(UseCaseStep aUseCaseStep, int index)
    • addOrMoveUseCaseStepAt

      public boolean addOrMoveUseCaseStepAt(UseCaseStep aUseCaseStep, int index)
    • minimumNumberOfQualityClasses

      public static int minimumNumberOfQualityClasses()
    • addQualityClass

      public QualityClass addQualityClass(String aName, String aContent)
    • addQualityClass

      public boolean addQualityClass(QualityClass aQualityClass)
    • removeQualityClass

      public boolean removeQualityClass(QualityClass aQualityClass)
    • addQualityClassAt

      public boolean addQualityClassAt(QualityClass aQualityClass, int index)
    • addOrMoveQualityClassAt

      public boolean addOrMoveQualityClassAt(QualityClass aQualityClass, int index)
    • minimumNumberOfReqImplementations

      public static int minimumNumberOfReqImplementations()
    • addReqImplementation

      public boolean addReqImplementation(ReqImplementation aReqImplementation)
    • removeReqImplementation

      public boolean removeReqImplementation(ReqImplementation aReqImplementation)
    • addReqImplementationAt

      public boolean addReqImplementationAt(ReqImplementation aReqImplementation, int index)
    • addOrMoveReqImplementationAt

      public boolean addOrMoveReqImplementationAt(ReqImplementation aReqImplementation, int index)
    • delete

      public void delete()
    • hasStructuredUserStoryFields

      public boolean hasStructuredUserStoryFields()
    • getUserStoryDisplayText

      public String getUserStoryDisplayText(String separator)
      format logic moved from cruise.umple/src/generators/Generator_CodePlainRequirementsDoc.ump:generator()
    • getBodyDisplayText

      public String getBodyDisplayText(String separator)
      Returns the requirement body text so renderers can output body and quality separately.
    • getQualityClassNamesSummary

      public String getQualityClassNamesSummary()
    • getDisplayStatement

      public String getDisplayStatement()
    • convertToComment

      public static List<Comment> convertToComment(List<ReqImplementation> reqSelected, UmpleModel aModel)
    • format

      public static String format(String type, List<ReqImplementation> reqSelected, UmpleModel aModel)
    • translateToHTML

      public static String translateToHTML(String content, String lang)
    • toString

      public String toString()
      Overrides:
      toString in class Object