Page last modified 14:33, 28 May 2018 by villes

->includes() Redirected from User Guides/myXML/5: OCL Rules/Available methods for OCL base types/->includes()

    Table of contents

    Description of the method

     

    Description: ->includes() method returns true if a given object can be found in the collection.
    Available for: collections
    Parameters: object
    Return type: boolean

     

    Example

    Context: Message
    OCL: self.Transaction.Amount->includes(30)
    Description: The example rule checks every transaction amount in the message and if the amount 30 is found, true will be returned.

     

    The XML snippet below would pass this check.

    <?xml version="1.0" encoding="UTF-8"?>

    <Message xmlns="http://www.XMLdation.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Header>
        <Id>a</Id>
        <TimeStamp>2018-05-28T12:17:50</TimeStamp>
        <ControlSum>2</ControlSum>
        <NumberOfTransactions>1</NumberOfTransactions>
      </Header>
      <Transaction>
        <Id>TransactionId1</Id>
        <Amount>100</Amount>
        <Debtor>
          <Name>Debtor1</Name>
        </Debtor>
        <Creditor>
          <Name>Creditor1</Name>
        </Creditor>
      </Transaction>
      <Transaction>
        <Id>TransactionId2</Id>
        <Amount>30</Amount>
        <Debtor>
          <Name>Debtor2</Name>
        </Debtor>
        <Creditor>
          <Name>Creditor2</Name>
        </Creditor>
      </Transaction>
    </Message>

    The other snippet below however would not pass this check. (Neither of the amounts is 30)

    <?xml version="1.0" encoding="UTF-8"?>

    <Message xmlns="http://www.XMLdation.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Header>
        <Id>a</Id>
        <TimeStamp>2018-05-28T12:17:50</TimeStamp>
        <ControlSum>2</ControlSum>
        <NumberOfTransactions>1</NumberOfTransactions>
      </Header>
      <Transaction>
        <Id>TransactionId1</Id>
        <Amount>29</Amount>
        <Debtor>
          <Name>Debtor1</Name>
        </Debtor>
        <Creditor>
          <Name>Creditor1</Name>
        </Creditor>
      </Transaction>
      <Transaction>
        <Id>TransactionId2</Id>
        <Amount>35</Amount>
        <Debtor>
          <Name>Debtor2</Name>
        </Debtor>
        <Creditor>
          <Name>Creditor2</Name>
        </Creditor>
      </Transaction>
    </Message>
    Menu