->includes()

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>