<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  ============LICENSE_START=======================================================
   Copyright (C) 2024 Ericsson
   Modifications Copyright (C) 2024 OpenInfra Foundation Europe
  ================================================================================
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

  SPDX-License-Identifier: Apache-2.0
  ============LICENSE_END=========================================================
-->
<additionalHeaders>
    <javadoc_style>
        <firstLine>/*</firstLine>
        <beforeEachLine> *  </beforeEachLine>
        <endLine> */</endLine>
        <!--skipLine></skipLine-->
        <firstLineDetectionPattern>(\s|\t)*/\*.*$</firstLineDetectionPattern>
        <lastLineDetectionPattern>.*\*/(\s|\t)*$</lastLineDetectionPattern>
        <allowBlankLines>false</allowBlankLines>
        <multiLine>true</multiLine>
        <padLines>false</padLines>
    </javadoc_style>
</additionalHeaders>
