<?xml version="1.0" encoding="UTF-8"?>
<objectModel xmlns="http://www.codelutin.org/eugene/objectModel" name="org::sharengo::cms::core">
  <enumeration name="ImportStrategy" package="org.sharengo.cms.core.services">
    <literal name="CREATE_UPDATE"/>
    <literal name="UPDATE_ONLY"/>
  </enumeration>
  <class name="XMLImportExportSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <dependency name="Dependency11" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency12" supplierName="org.sharengo.cms.core.services.ContentDefinitionSrv"/>
    <dependency name="Dependency13" supplierName="org.sharengo.cms.core.services.SetOfContentsSrv"/>
    <dependency name="Dependency14" supplierName="org.sharengo.cms.core.services.ContentSearchSrv"/>
    <dependency name="Dependency21" supplierName=""/>
    <dependency name="Dependency22" supplierName="org.sharengo.cms.core.services.AttributeDefinitionSrv"/>
    <dependency name="Dependency23" supplierName="org.sharengo.cms.core.daos.ContentDao"/>
    <dependency name="Dependency24" supplierName="org.sharengo.cms.core.daos.ContentDefinitionDao"/>
    <dependency name="Dependency25" supplierName="org.sharengo.utils.container.link.services.LinkDefinitionSrv"/>
    <dependency name="Dependency26" supplierName="org.sharengo.utils.container.link.services.LinkSrv"/>
    <dependency name="Dependency37" supplierName="org.sharengo.cms.core.services.ContentNomenclatureSrv"/>
    <dependency name="Dependency38" supplierName="org.sharengo.utils.container.nomenclature.daos.NomenclatureDao"/>
    <dependency name="Dependency42" supplierName="org.sharengo.cms.core.daos.TempNodesIdsDao"/>
    <dependency name="Dependency43" supplierName="org.sharengo.cms.core.daos.TempNodeContentsDao"/>
    <dependency name="Dependency44" supplierName="org.sharengo.cms.core.daos.ListItemDao"/>
    <dependency name="Dependency45" supplierName="org.sharengo.utils.container.nomenclature.services.NomenclatureSrv"/>
    <dependency name="Dependency50" supplierName="org.sharengo.cms.core.services.ReferentialSrv"/>
    <dependency name="Dependency53" supplierName="org.sharengo.cms.core.daos.AttributeDefinitionDao"/>
    <operation name="exportContentsByContentDef" visibility="public">
      <parameter name="definitionIds" type="String" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportContentsBySearch" visibility="public">
      <parameter name="searchCriteria" type="org.sharengo.cms.core.dtos.ContentDefSearchDto" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportContentsBySoc" visibility="public">
      <parameter name="SocIds" type="String" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportContentDefByIds" visibility="public">
      <parameter name="ContentDefIds" type="String" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportAllContentDef" visibility="public">
      <returnParameter type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportAllLinks" visibility="public">
      <returnParameter type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportLinksRelatedToContent" visibility="public">
      <returnParameter type="String"/>
      <parameter name="contentId" type="String" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportLinksOfLinkDef" visibility="public">
      <returnParameter type="String"/>
      <parameter name="LinkDefId" type="String" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="importContents" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.ImportResult"/>
      <parameter name="resource" type="String"/>
      <parameter name="strategy" type="org.sharengo.cms.core.services.ImportStrategy"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.XMLException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.FileFormatException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="importContentDef" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.ImportResult"/>
      <parameter name="resource" type="String"/>
      <parameter name="strategy" type="org.sharengo.cms.core.services.ImportStrategy"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.XMLException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.FileFormatException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="importLinks" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.ImportResult"/>
      <parameter name="resource" type="String"/>
      <parameter name="strategy" type="org.sharengo.cms.core.services.ImportStrategy"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.XMLException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.FileFormatException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="importSoc" visibility="public">
      <parameter name="resource" type="String"/>
      <parameter name="strategy" type="org.sharengo.cms.core.services.ImportStrategy"/>
      <returnParameter type="org.sharengo.cms.core.dtos.ImportResult"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.XMLException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.FileFormatException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportSocByIds" visibility="public">
      <parameter name="ids" type="String" minMultiplicity="0" maxMultiplicity="-1"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportContentsByIds" visibility="public">
      <parameter name="contentIds" type="String" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="exportNomenclatureById" visibility="public">
      <returnParameter type="String"/>
      <parameter name="id" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="importNomenclature" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.ImportResult"/>
      <parameter name="resourse" type="String"/>
      <parameter name="strategy" type="org.sharengo.cms.core.services.ImportStrategy"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.XMLException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.FileFormatException"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="ContentSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <dependency name="Dependency2" supplierName="org.sharengo.cms.core.daos.ContentDao"/>
    <dependency name="Dependency4" supplierName="org.sharengo.cms.core.daos.ContentDefinitionDao"/>
    <dependency name="Dependency7" supplierName="org.sharengo.cms.core.daos.AttributeDao"/>
    <dependency name="Dependency9" supplierName="org.sharengo.cms.core.services.ContentIndexSrv"/>
    <dependency name="Dependency20" supplierName="org.sharengo.utils.container.link.services.LinkSrv"/>
    <operation name="create" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="content" type="org.sharengo.cms.core.dtos.Content"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="find" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="contentID" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="delete" visibility="public">
      <parameter name="contentId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="update" visibility="public">
      <parameter name="content" type="org.sharengo.cms.core.dtos.Content"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteAttributesFromAttributeDef" visibility="public">
      <parameter name="attributeDefId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAll" visibility="public">
      <returnParameter type="PagedResult&lt;ContentHeader&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findContentHeader" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.ContentHeader"/>
      <parameter name="id" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findContentsByIds" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.List&lt;ContentHeader&gt;"/>
      <parameter name="ids" type="String[]"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findContentIdsCorrespondingToContentDefs" visibility="public">
      <parameter name="contentDefId" type="String"/>
      <returnParameter type="List&lt;String&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findContents" visibility="public">
      <returnParameter type="List&lt;Content&gt;"/>
      <parameter name="ids" type="String[]"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="AttributeDefinitionSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <dependency name="Dependency5" supplierName="org.sharengo.cms.core.daos.AttributeDefinitionDao"/>
    <dependency name="Dependency3" supplierName="org.sharengo.cms.core.daos.ContentDefinitionDao"/>
    <dependency name="Dependency6" supplierName="org.sharengo.cms.core.daos.ListItemDao"/>
    <dependency name="Dependency11" supplierName="org.sharengo.cms.core.daos.AttributeDao"/>
    <operation name="create" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.AttributeDef"/>
      <parameter name="attributeDefinitionData" type="org.sharengo.cms.core.dtos.AttributeDef"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.cms.core.services.InvalidDefaultValueException"/>
      <exceptionParameter type="org.sharengo.cms.core.services.InvalidTypeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findByContentDef" visibility="public">
      <returnParameter type="List&lt;AttributeDef&gt;"/>
      <parameter name="contentDefId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="moveAtIndex" visibility="public">
      <parameter name="index" type="Integer"/>
      <parameter name="attributeDefinitionId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createItem" visibility="public">
      <parameter name="itemData" type="org.sharengo.cms.core.dtos.Item"/>
      <returnParameter type="org.sharengo.cms.core.dtos.Item"/>
      <parameter name="idClosedList" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="moveItemAtIndex" visibility="public">
      <parameter name="index" type="Integer"/>
      <parameter name="itemId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteItem" visibility="public">
      <parameter name="id" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findItemByClosedListId" visibility="public">
      <parameter name="idClosedList" type="String"/>
      <returnParameter type="List&lt;Item&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findNamesBeginingWith" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <parameter name="contentDefId" type="String"/>
      <parameter name="nameBeginning" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findById" visibility="public">
      <parameter name="attDefId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.AttributeDef"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllWhichNameIs" visibility="public">
      <returnParameter type="List&lt;AttributeDef&gt;"/>
      <parameter name="name" type="String"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="ContentIndexSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <operation name="indexContent" visibility="public">
      <parameter name="content" type="org.sharengo.cms.core.entities.ContentEntity"/>
    </operation>
    <operation name="deleteContent" visibility="public">
      <parameter name="contentId" type="String"/>
    </operation>
    <operation name="deleteContentByDefinition" visibility="public">
      <parameter name="contentDefId" type="String"/>
    </operation>
    <operation name="searchContents" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;String&gt;"/>
      <parameter name="keywords" type="String[]"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
    </operation>
    <operation name="requestContent" visibility="public">
      <parameter name="restriction" type="org.sharengo.cms.core.dtos.RestrictionDto"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;String&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
    </operation>
  </class>
  <class name="SetOfContentsSrv" package="org.sharengo.cms.core.services">
    <stereotype name="CrudService"/>
    <stereotype name="CrudService"/>
    <dependency name="Dependency13" supplierName="org.sharengo.cms.core.daos.SetOfContentsDao"/>
    <dependency name="Dependency14" supplierName="org.sharengo.cms.core.daos.ContentDao"/>
    <dependency name="Dependency15" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency1" supplierName="org.sharengo.cms.core.dtos.SetOfContents"/>
    <dependency name="Dependency2" supplierName="org.sharengo.cms.core.entities.SetOfContentsEntity"/>
    <operation name="findAllOrderedBy" visibility="public">
      <returnParameter type="PagedResult&lt;SetOfContents&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <parameter name="sortConstraints" type="org.sharengo.cms.core.services.List&lt;SortConstraint&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addContent" visibility="public">
      <parameter name="contentId" type="String"/>
      <parameter name="setOfContentsId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.UpdateResult"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addContents" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.UpdateResult"/>
      <parameter name="listOfContentIds" type="List&lt;String&gt;"/>
      <parameter name="setOfContentsId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getContents" visibility="public">
      <parameter name="setOfContentsId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.services.List&lt;ContentHeader&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="removeContent" visibility="public">
      <parameter name="setOfContentsId" type="String"/>
      <parameter name="contentId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.UpdateResult"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getContentsOrderedByContentDef" visibility="public">
      <returnParameter type="PagedResult&lt;ContentHeader&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <parameter name="setOfContentsId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getContentsOrderedBy" visibility="public">
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <parameter name="setOfContentsId" type="String"/>
      <parameter name="sortConstraints" type="org.sharengo.cms.core.services.List&lt;SortConstraint&gt;"/>
      <returnParameter type="PagedResult&lt;ContentHeader&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="removeContents" visibility="public">
      <parameter name="setOfContentsId" type="String"/>
      <parameter name="listOfContentIds" type="List&lt;String&gt;"/>
      <returnParameter type="org.sharengo.cms.core.dtos.UpdateResult"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getContentsDtoOrderedByContentDef" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;Content&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <parameter name="setOfContentId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="ContentSearchSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <dependency name="Dependency16" supplierName="org.sharengo.cms.core.services.ContentIndexSrv"/>
    <dependency name="Dependency17" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency18" supplierName="org.sharengo.cms.core.services.AttributeDefinitionSrv"/>
    <dependency name="Dependency8" supplierName=""/>
    <operation name="doAdvancedSearch" visibility="public">
      <parameter name="contentDefs" type="org.sharengo.cms.core.services.List&lt;ContentDefSearchDto&gt;"/>
      <returnParameter type="PagedResult&lt;ContentHeader&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="doSearch" visibility="public">
      <parameter name="searchDtos" type="org.sharengo.cms.core.dtos.List&lt;AbstractSearchDto&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <returnParameter type="PagedResult&lt;ContentHeader&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="doSearchContentIds" visibility="public">
      <parameter name="searchDtos" type="org.sharengo.cms.core.dtos.List&lt;AbstractSearchDto&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;String&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
    </operation>
  </class>
  <class name="InvalidTypeException" package="org.sharengo.cms.core.services">
    <superclass name="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
    <attribute name="expectedType" visibility="public" type="org.sharengo.cms.core.entities.AttributeType"/>
  </class>
  <class name="InvalidDefaultValueException" package="org.sharengo.cms.core.services">
    <superclass name="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
  </class>
  <class name="MandatoryValueException" package="org.sharengo.cms.core.services">
    <superclass name="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
  </class>
  <class name="ContentLinkSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <dependency name="Dependency15" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency16" supplierName=""/>
    <dependency name="Dependency17" supplierName=""/>
    <dependency name="Dependency18" supplierName="org.sharengo.utils.container.link.services.LinkSrv"/>
    <operation name="deleteByContentId" visibility="public">
      <parameter name="contentId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findByContentId" visibility="public">
      <returnParameter type="PagedResult&lt;ContentLink&gt;"/>
      <parameter name="contentId" type="String"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="linkContents" visibility="public">
      <parameter name="linkDefId" type="String"/>
      <parameter name="linkName" type="String"/>
      <parameter name="fromContentId" type="String"/>
      <parameter name="toContentId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="ContentNomenclatureSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <dependency name="Dependency27" supplierName="org.sharengo.utils.container.nomenclature.services.NomenclatureSrv"/>
    <dependency name="Dependency28" supplierName="org.sharengo.cms.core.services.SetOfContentsSrv"/>
    <dependency name="Dependency29" supplierName="org.sharengo.utils.container.link.services.LinkSrv"/>
    <dependency name="Dependency75" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency76" supplierName="org.sharengo.cms.core.services.ContentSearchSrv"/>
    <dependency name="Dependency77" supplierName="org.sharengo.cms.core.daos.SetOfContentsDao"/>
    <operation name="addContents" visibility="public">
      <parameter name="nodeId" type="String"/>
      <parameter name="contentIds" type="String" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <returnParameter type="org.sharengo.cms.core.dtos.UpdateResult"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="removeContents" visibility="public">
      <parameter name="nodeId" type="String"/>
      <parameter name="contentIds" type="String" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <returnParameter type="org.sharengo.cms.core.dtos.UpdateResult"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findContentsByNode" visibility="public">
      <parameter name="nodeId" type="String"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <returnParameter type="PagedResult&lt;ContentHeader&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findContentsDtoByNode" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;Content&gt;"/>
      <parameter name="nodeId" type="String"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="searchContents" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;Content&gt;"/>
      <parameter name="cnSearchDto" type="org.sharengo.cms.core.services.List&lt;ContentNomenclatureSearchDto&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="countSearchContentsResult" visibility="public">
      <parameter name="cnSearchDtoList" type="org.sharengo.cms.core.services.List&lt;ContentNomenclatureSearchDto&gt;"/>
      <returnParameter type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="countContents" visibility="public">
      <returnParameter type="Integer"/>
      <parameter name="nodeId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="searchContentsIds" visibility="public">
      <parameter name="cnSearchDto" type="org.sharengo.cms.core.services.List&lt;ContentNomenclatureSearchDto&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;String&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="ReferentialSrv" package="org.sharengo.cms.core.services">
    <stereotype name="CrudService"/>
    <dependency name="Dependency48" supplierName="org.sharengo.cms.core.dtos.Referential"/>
    <dependency name="Dependency49" supplierName="org.sharengo.cms.core.entities.ReferentialEntity"/>
    <dependency name="Dependency46" supplierName="org.sharengo.utils.container.nomenclature.dtos.Nomenclature"/>
    <operation name="findBySource" visibility="public">
      <returnParameter type="org.sharengo.utils.container.nomenclature.dtos.Nomenclature"/>
      <parameter name="source" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findReferentialBySource" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Referential"/>
      <parameter name="source" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="FacetViewSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency59" supplierName="org.sharengo.cms.core.daos.facet.FacetViewDao"/>
    <dependency name="Dependency60" supplierName="org.sharengo.cms.core.daos.facet.FacetViewChainDao"/>
    <dependency name="Dependency61" supplierName="org.sharengo.cms.core.daos.facet.FacetDao"/>
    <dependency name="Dependency62" supplierName="org.sharengo.cms.core.services.facet.TopicSrv"/>
    <dependency name="Dependency80" supplierName="org.sharengo.cms.core.daos.facet.TopicDao"/>
    <operation name="saveView" visibility="public">
      <parameter name="viewName" type="String"/>
      <parameter name="facetsName" type="org.sharengo.cms.core.dtos.facet.List&lt;List&lt;String&gt;&gt;"/>
      <returnParameter type="Boolean"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteView" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="viewName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllView" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findView" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;List&lt;String&gt;&gt;"/>
      <parameter name="viewName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="searchTopic" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;FacetResult&gt;"/>
      <parameter name="viewName" type="String"/>
      <parameter name="topicIds" type="org.sharengo.cms.core.dtos.facet.List&lt;List&lt;String&gt;&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="searchContent" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;Content&gt;"/>
      <parameter name="topicIds" type="org.sharengo.cms.core.dtos.facet.List&lt;List&lt;String&gt;&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameView" visibility="public">
      <parameter name="oldViewName" type="String"/>
      <parameter name="newViewName" type="String"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addChain" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="viewName" type="String"/>
      <parameter name="chain" type="List&lt;String&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="removeChain" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="viewName" type="String"/>
      <parameter name="chainIndex" type="Integer"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getFlatView" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.facet.List&lt;List&lt;FacetResult&gt;&gt;"/>
      <parameter name="viewName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getTopic" visibility="public">
      <returnParameter type="String"/>
      <parameter name="viewName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="FacetSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency9" supplierName="org.sharengo.cms.core.daos.AttributeDefinitionDao"/>
    <dependency name="Dependency63" supplierName="org.sharengo.cms.core.daos.facet.FacetDao"/>
    <dependency name="Dependency86" supplierName="org.sharengo.cms.core.services.ContentIndexSrv"/>
    <dependency name="Dependency78" supplierName="org.sharengo.cms.core.daos.ContentDao"/>
    <dependency name="Dependency107" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency108" supplierName="org.sharengo.cms.core.services.ContentDefinitionSrv"/>
    <operation name="createFacet" visibility="public">
      <parameter name="facetName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteFacet" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="facetName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameFacet" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="oldFacetName" type="String"/>
      <parameter name="newFacetName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllFacet" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addContentFacet" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="facetName" type="String"/>
      <parameter name="contentId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findContentFacet" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="facetName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="saveSegmentation" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="facetName" type="String"/>
      <parameter name="segmentationAttDefId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteContentFacet" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="facetName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getSegmentation" visibility="public">
      <parameter name="facetName" type="String"/>
      <returnParameter type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllFacetByContentDefinition" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <parameter name="contentDefinitionName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createContent" visibility="public">
      <returnParameter type="String"/>
      <parameter name="facetName" type="String"/>
      <parameter name="contentDefinitionName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isFacet" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="facetName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isType" visibility="public">
      <parameter name="facetName" type="String"/>
      <parameter name="contentDefinitionName" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="TopicSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency3" supplierName="org.sharengo.cms.core.services.facet.TopicRuleSrv"/>
    <dependency name="Dependency64" supplierName="org.sharengo.cms.core.daos.facet.TopicDao"/>
    <dependency name="Dependency65" supplierName="org.sharengo.cms.core.daos.facet.FacetDao"/>
    <dependency name="Dependency79" supplierName="org.sharengo.cms.core.services.facet.FacetSrv"/>
    <dependency name="Dependency87" supplierName="org.sharengo.cms.core.services.ContentIndexSrv"/>
    <dependency name="Dependency88" supplierName="org.sharengo.cms.core.daos.ContentDao"/>
    <dependency name="Dependency105" supplierName="org.sharengo.cms.core.services.ContentDefinitionSrv"/>
    <dependency name="Dependency106" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <operation name="createRootTopic" visibility="public">
      <parameter name="facetName" type="String"/>
      <parameter name="topicValue" type="String"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteTopic" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameTopic" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="topicId" type="String"/>
      <parameter name="topicValue" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findRootsTopic" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicDTO&gt;"/>
      <parameter name="facetName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="searchTopic" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;FacetResult&gt;"/>
      <parameter name="topicIds" type="List&lt;String&gt;"/>
      <parameter name="facetNames" type="List&lt;String&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="searchContent" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;Content&gt;"/>
      <parameter name="topicIds" type="List&lt;String&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addContentTopic" visibility="public">
      <parameter name="topicId" type="String"/>
      <parameter name="contentId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteContentTopic" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="topicId" type="String"/>
      <parameter name="contentId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findContentsTopic" visibility="public">
      <returnParameter type="List&lt;Content&gt;"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createNodeTopic" visibility="public">
      <returnParameter type="String"/>
      <parameter name="parentTopicId" type="String"/>
      <parameter name="topicValue" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findNodesTopic" visibility="public">
      <parameter name="parentTopicId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicDTO&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="moveTopic" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="fromTopicId" type="String"/>
      <parameter name="toTopicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findRootByName" visibility="public">
      <returnParameter type="String"/>
      <parameter name="facetName" type="String"/>
      <parameter name="topicValue" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findNodeByName" visibility="public">
      <returnParameter type="String"/>
      <parameter name="parentTopicId" type="String"/>
      <parameter name="topicValue" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findParent" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.TopicDTO"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteAllByFacet" visibility="public">
      <parameter name="facetName" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findFacet" visibility="public">
      <returnParameter type="String"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findValue" visibility="public">
      <returnParameter type="String"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="saveRequest" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="topicId" type="String"/>
      <parameter name="search" type="org.sharengo.cms.core.dtos.List&lt;AbstractSearchDto&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getRequest" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.List&lt;AbstractSearchDto&gt;"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createContent" visibility="public">
      <returnParameter type="String"/>
      <parameter name="topicId" type="String"/>
      <parameter name="contentDefinitionName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findTopicResult" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.TopicResult"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findRootsTopicResult" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <parameter name="facetName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findNodesTopicResult" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <parameter name="topicParentId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isType" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="topicId" type="String"/>
      <parameter name="contentDefinitionName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findType" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <parameter name="search" type="org.sharengo.cms.core.dtos.List&lt;AbstractSearchDto&gt;"/>
      <parameter name="contentDefinitionName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="TopicRuleSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency1" supplierName="org.sharengo.cms.core.services.ContentNomenclatureSrv"/>
    <dependency name="Dependency66" supplierName="org.sharengo.cms.core.daos.facet.TopicRuleDao"/>
    <dependency name="Dependency67" supplierName="org.sharengo.cms.core.daos.facet.TopicDao"/>
    <dependency name="Dependency83" supplierName="org.sharengo.cms.core.services.facet.FacetContentSrv"/>
    <operation name="saveTopicRule" visibility="public">
      <parameter name="search" type="org.sharengo.cms.core.services.List&lt;ContentNomenclatureSearchDto&gt;"/>
      <parameter name="topicIds" type="List&lt;String&gt;"/>
      <returnParameter type="Boolean"/>
      <parameter name="user" type="String"/>
      <parameter name="number" type="Integer"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="applyTopicRule" visibility="public">
      <parameter name="topicIds" type="List&lt;String&gt;"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteTopicRule" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="topicIds" type="List&lt;String&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findTopicRule" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.TopicRuleDto"/>
      <parameter name="topicIds" type="List&lt;String&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="removeTopic" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="saveTopicRuleNumber" visibility="public">
      <parameter name="search" type="org.sharengo.cms.core.services.List&lt;ContentNomenclatureSearchDto&gt;"/>
      <parameter name="topicIds" type="List&lt;String&gt;"/>
      <parameter name="user" type="String"/>
      <parameter name="number" type="Integer"/>
      <returnParameter type="Boolean"/>
    </operation>
  </class>
  <class name="FacetContentSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency69" supplierName="org.sharengo.cms.core.daos.facet.TopicDao"/>
    <dependency name="Dependency70" supplierName="org.sharengo.cms.core.daos.ContentDao"/>
    <dependency name="Dependency81" supplierName="org.sharengo.cms.core.services.ContentIndexSrv"/>
    <operation name="addTopicContent" visibility="public">
      <parameter name="contentId" type="String"/>
      <parameter name="topicId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteTopicContent" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="contentId" type="String"/>
      <parameter name="topicId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllTopicContent" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;FacetContent&gt;"/>
      <parameter name="contentId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllTopic" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicDTO&gt;"/>
      <parameter name="contentId" type="String"/>
      <parameter name="facetName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="FacetDomainProductCatalogSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency2" supplierName="org.sharengo.cms.core.services.ReferentialSrv"/>
    <dependency name="Dependency68" supplierName="org.sharengo.cms.core.services.facet.TopicSrv"/>
    <dependency name="Dependency71" supplierName="org.sharengo.cms.core.services.facet.FacetViewSrv"/>
    <dependency name="Dependency72" supplierName="org.sharengo.cms.core.services.facet.FacetContentSrv"/>
    <dependency name="Dependency73" supplierName="org.sharengo.cms.core.services.facet.FacetSrv"/>
    <dependency name="Dependency74" supplierName="org.sharengo.cms.core.services.facet.TopicRuleSrv"/>
    <dependency name="Dependency84" supplierName="org.sharengo.cms.core.services.ContentDefinitionSrv"/>
    <dependency name="Dependency85" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency102" supplierName=""/>
    <operation name="createCatalog" visibility="public">
      <parameter name="catalogName" type="String"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteCatalog" visibility="public">
      <parameter name="catalogName" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllCatalog" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addSection" visibility="public">
      <parameter name="sectionId" type="String"/>
      <parameter name="sectionName" type="String"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameLevel" visibility="public">
      <parameter name="levelId" type="String"/>
      <parameter name="levelName" type="String"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteLevel" visibility="public">
      <parameter name="levelId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllLevel" visibility="public">
      <parameter name="parentLevelId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getContentCatalog" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="catalogName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getContentLevel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findProducts" visibility="public">
      <parameter name="categoryId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;Content&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="saveSearch" visibility="public">
      <parameter name="categoryId" type="String"/>
      <parameter name="search" type="org.sharengo.cms.core.services.List&lt;ContentNomenclatureSearchDto&gt;"/>
      <returnParameter type="Boolean"/>
      <parameter name="user" type="String"/>
      <parameter name="number" type="Integer"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getSearch" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.List&lt;ContentNomenclatureSearchDto&gt;"/>
      <parameter name="categoryId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteSearch" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="categoryId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createLocalProduct" visibility="public">
      <returnParameter type="String"/>
      <parameter name="topicId" type="String"/>
      <parameter name="product" type="org.sharengo.cms.core.dtos.Content"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addProduct" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="topicId" type="String"/>
      <parameter name="productId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameCatalog" visibility="public">
      <parameter name="oldCatalogName" type="String"/>
      <parameter name="newCatalogName" type="String"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="move" visibility="public">
      <parameter name="fromLevelId" type="String"/>
      <parameter name="toLevelId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addCategory" visibility="public">
      <parameter name="sectionId" type="String"/>
      <parameter name="categoryName" type="String"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isCategory" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findLevel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.TopicResult"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isCatalog" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isSection" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllSearch" visibility="public">
      <parameter name="catalogName" type="String"/>
      <returnParameter type="org.sharengo.cms.core.services.facet.List&lt;TopicRuleDto&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="setRequestNumber" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="categoryId" type="String"/>
      <parameter name="number" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getRequestNumber" visibility="public">
      <returnParameter type="Integer"/>
      <parameter name="categoryId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllCategory" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <parameter name="catalogName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="updateDescription" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="c" type="org.sharengo.cms.core.dtos.Content"/>
      <stereotype name="Remote"/>
    </operation>
    <attribute name="target" type="org.sharengo.cms.core.daos.ListItemDao" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
  </class>
  <class name="FacetDomainEditCatalogSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency82" supplierName="org.sharengo.cms.core.services.facet.TopicSrv"/>
    <dependency name="Dependency90" supplierName="org.sharengo.cms.core.services.facet.FacetViewSrv"/>
    <dependency name="Dependency91" supplierName="org.sharengo.cms.core.services.facet.FacetContentSrv"/>
    <dependency name="Dependency92" supplierName="org.sharengo.cms.core.services.facet.FacetSrv"/>
    <dependency name="Dependency93" supplierName="org.sharengo.cms.core.services.facet.TopicRuleSrv"/>
    <dependency name="Dependency94" supplierName="org.sharengo.cms.core.services.ContentDefinitionSrv"/>
    <dependency name="Dependency95" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency96" supplierName="org.sharengo.cms.core.services.ReferentialSrv"/>
    <dependency name="Dependency103" supplierName=""/>
    <operation name="createCatalog" visibility="public">
      <returnParameter type="String"/>
      <parameter name="catalogName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteCatalog" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="catalogName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllCatalog" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameCatalog" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="oldCatalogName" type="String"/>
      <parameter name="newCatalogName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addDirectory" visibility="public">
      <returnParameter type="String"/>
      <parameter name="directoryId" type="String"/>
      <parameter name="directoryName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameLevel" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <parameter name="levelName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllLevel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <parameter name="parentLevelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteLevel" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findLevel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.TopicResult"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getContentLevel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findArticles" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;Content&gt;"/>
      <parameter name="folderId" type="String"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addFolder" visibility="public">
      <returnParameter type="String"/>
      <parameter name="directoryName" type="String"/>
      <parameter name="folderName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addArticle" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="folderId" type="String"/>
      <parameter name="articleId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="move" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="fromLevelId" type="String"/>
      <parameter name="toLevelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isFolder" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isCatalog" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getContentCatalog" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="catalogName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isDirectory" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="FacetSegmentationSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency4" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency5" supplierName="org.sharengo.cms.core.services.ContentDefinitionSrv"/>
    <dependency name="Dependency6" supplierName="org.sharengo.cms.core.services.facet.TopicSrv"/>
    <dependency name="Dependency7" supplierName="org.sharengo.cms.core.services.facet.FacetSrv"/>
    <dependency name="Dependency8" supplierName="org.sharengo.cms.core.services.facet.FacetViewSrv"/>
    <dependency name="Dependency12" supplierName="org.sharengo.cms.core.services.AttributeDefinitionSrv"/>
    <operation name="create" visibility="public">
      <returnParameter type="String"/>
      <parameter name="familyId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="update" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="segmentationName" type="String"/>
      <parameter name="facetName" type="org.sharengo.cms.core.dtos.facet.List&lt;List&lt;String&gt;&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="remove" visibility="public">
      <parameter name="segmentationName" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addCriterion" visibility="public">
      <returnParameter type="String"/>
      <parameter name="segmentationName" type="String"/>
      <parameter name="criterion" type="org.sharengo.cms.core.dtos.facet.CriterionDto"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="removeCriterion" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="criterionName" type="String"/>
      <parameter name="segmentationName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="editCriterion" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="criterionName" type="String"/>
      <parameter name="criterion" type="org.sharengo.cms.core.dtos.facet.CriterionDto"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findCriterion" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.CriterionDto"/>
      <parameter name="criterionName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllCriterions" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.facet.List&lt;CriterionDto&gt;"/>
      <parameter name="segmentationName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="saveDescriptiveContent" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="description" type="org.sharengo.cms.core.dtos.facet.CriterionDto"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addCriterionValues" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="criterionName" type="String"/>
      <parameter name="criterionValues" type="org.sharengo.cms.core.services.facet.Map&lt;String, CriterionDto&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="find" visibility="public">
      <returnParameter type="String"/>
      <parameter name="familyId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findSegmentationChains" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;List&lt;String&gt;&gt;"/>
      <parameter name="segmentationName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getCompleteSegmentation" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;FacetResult&gt;"/>
      <parameter name="segmentationName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getSegmentingCriterionValues" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <parameter name="segmentationName" type="String"/>
      <parameter name="criterionName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="FamilySrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency10" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency11" supplierName="org.sharengo.cms.core.services.facet.TopicSrv"/>
    <dependency name="Dependency22" supplierName="org.sharengo.cms.core.services.facet.WebMasteringSrv"/>
    <dependency name="Dependency104" supplierName="org.sharengo.cms.core.services.ContentDefinitionSrv"/>
    <operation name="createFamily" visibility="public">
      <parameter name="familyName" type="String"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteFamily" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="familyId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllFamilies" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicDTO&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getFamilyName" visibility="public">
      <parameter name="familyId" type="String"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getFamilyContent" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="familyId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameFamily" visibility="public">
      <parameter name="familyId" type="String"/>
      <parameter name="familyName" type="String"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findProducts" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;Content&gt;"/>
      <parameter name="familyId" type="String"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findProductsByTopics" visibility="public">
      <returnParameter type="org.sharengo.cms.core.services.PagedResult&lt;Content&gt;"/>
      <parameter name="familyId" type="String"/>
      <parameter name="topicIds" type="List&lt;String&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="saveFamilyRequest" visibility="public">
      <parameter name="searchDto" type="org.sharengo.cms.core.dtos.List&lt;AbstractSearchDto&gt;"/>
      <returnParameter type="Boolean"/>
      <parameter name="familyId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getFamilyRequest" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.List&lt;AbstractSearchDto&gt;"/>
      <parameter name="familyId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="removeFamilyRequest" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="familyId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isFamily" visibility="public">
      <parameter name="familyId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="LabelSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency13" supplierName="org.sharengo.cms.core.services.facet.TopicSrv"/>
    <dependency name="Dependency14" supplierName="org.sharengo.cms.core.services.facet.FacetSrv"/>
    <dependency name="Dependency15" supplierName="org.sharengo.cms.core.services.facet.FamilySrv"/>
    <dependency name="Dependency16" supplierName="org.sharengo.cms.core.services.facet.FacetContentSrv"/>
    <dependency name="Dependency17" supplierName="org.sharengo.cms.core.services.ContentDefinitionSrv"/>
    <dependency name="Dependency24" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <operation name="createSubject" visibility="public">
      <parameter name="subjectName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createLabel" visibility="public">
      <returnParameter type="String"/>
      <parameter name="subjectName" type="String"/>
      <parameter name="labelName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createSubLabel" visibility="public">
      <returnParameter type="String"/>
      <parameter name="labelId" type="String"/>
      <parameter name="labelName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteSubject" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="subjectName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteLabel" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="labelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getSubjectContent" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="subjectName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getLabelContent" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="labelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameSubject" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="subjectOldName" type="String"/>
      <parameter name="subjectNewName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameLabel" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="labelId" type="String"/>
      <parameter name="labelNewName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllSubject" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findLabel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <parameter name="subjectName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findSubLabel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
      <parameter name="labelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getLabel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.TopicResult"/>
      <parameter name="labelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="moveLabel" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="fromLabelId" type="String"/>
      <parameter name="toLabelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="classifyFamily" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="familyId" type="String"/>
      <parameter name="labelIds" type="List&lt;String&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findSubjectsByFamily" visibility="public">
      <parameter name="familyId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;FacetContent&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="unClassifyFamily" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="familyId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="unClassifyFamilyfromLabel" visibility="public">
      <parameter name="familyId" type="String"/>
      <parameter name="labelId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isLabel" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="labelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isSubject" visibility="public">
      <parameter name="subjectName" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findParentLabel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.TopicDTO"/>
      <parameter name="labelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findSubject" visibility="public">
      <returnParameter type="String"/>
      <parameter name="labelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="WebMasteringSrv" package="org.sharengo.cms.core.services.facet">
    <stereotype name="Service"/>
    <dependency name="Dependency18" supplierName="org.sharengo.cms.core.services.facet.TopicSrv"/>
    <dependency name="Dependency19" supplierName="org.sharengo.cms.core.services.facet.FamilySrv"/>
    <dependency name="Dependency20" supplierName="org.sharengo.cms.core.services.facet.FacetContentSrv"/>
    <dependency name="Dependency21" supplierName="org.sharengo.cms.core.services.facet.FacetSrv"/>
    <dependency name="Dependency23" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <operation name="createEntryPoint" visibility="public">
      <parameter name="entryPointName" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteEntryPoint" visibility="public">
      <parameter name="entryPointName" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameEntryPoint" visibility="public">
      <parameter name="oldEntryPointName" type="String"/>
      <parameter name="newEntryPointName" type="String"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllEntryPoints" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getEntryPointDescription" visibility="public">
      <parameter name="entryPointName" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createLevel" visibility="public">
      <parameter name="entryPointName" type="String"/>
      <parameter name="levelName" type="String"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createSubLevel" visibility="public">
      <parameter name="levelId" type="String"/>
      <parameter name="levelName" type="String"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="renameLevel" visibility="public">
      <parameter name="levelId" type="String"/>
      <parameter name="newLevelName" type="String"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findLevel" visibility="public">
      <parameter name="entryPointName" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;Level&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findSubLevel" visibility="public">
      <parameter name="levelId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;Level&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getLevelDescription" visibility="public">
      <parameter name="levelId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.Content"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getLevel" visibility="public">
      <parameter name="levelId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.facet.Level"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="moveLevel" visibility="public">
      <parameter name="fromLevelId" type="String"/>
      <parameter name="toLevelId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="classifyFamily" visibility="public">
      <parameter name="familyId" type="String"/>
      <parameter name="levelIds" type="List&lt;String&gt;"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="unClassifyFamily" visibility="public">
      <parameter name="familyId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="unClassifyFamilyFromLevel" visibility="public">
      <parameter name="familyId" type="String"/>
      <parameter name="levelId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findEntryPointByFamily" visibility="public">
      <parameter name="familyId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;EntryPoint&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="classifyEditCase" visibility="public">
      <parameter name="editCaseId" type="String"/>
      <parameter name="labelIds" type="List&lt;String&gt;"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="unClassifyEditCase" visibility="public">
      <parameter name="editCaseId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="unClassifyEditCaseFromLevel" visibility="public">
      <parameter name="editCaseId" type="String"/>
      <parameter name="levelId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findEntryPointByEditCase" visibility="public">
      <parameter name="editCaseId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;EntryPoint&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="classify" visibility="private">
      <parameter name="topicId" type="String"/>
      <parameter name="levelIds" type="List&lt;String&gt;"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
    </operation>
    <operation name="unClassify" visibility="private">
      <parameter name="topicId" type="String"/>
      <returnParameter type="Boolean"/>
    </operation>
    <operation name="unClassifyFromLevel" visibility="private">
      <parameter name="topicId" type="String"/>
      <parameter name="levelId" type="String"/>
      <returnParameter type="Boolean"/>
    </operation>
    <operation name="deleteLevel" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isLevel" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isEntryPoint" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="entryPointName" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findParentLevel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.Level"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findEntryPoint" visibility="public">
      <returnParameter type="String"/>
      <parameter name="levelId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="isClassified" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="familyId" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="getUnclassifiedEntryPoint" visibility="public">
      <returnParameter type="String"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="AttributeSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <dependency name="Dependency19" supplierName="org.sharengo.cms.core.daos.AttributeDao"/>
    <dependency name="Dependency20" supplierName="org.sharengo.cms.core.daos.AttributeDefinitionDao"/>
    <operation name="findValuesForAttributeDef" visibility="public">
      <parameter name="attributeDefId" type="String"/>
      <returnParameter type="List&lt;String&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findNamesBeginningWith" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <parameter name="attributeDefId" type="String"/>
      <parameter name="nameBeginning" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="ContentDefinitionSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <dependency name="Dependency1" supplierName="org.sharengo.cms.core.daos.ContentDefinitionDao"/>
    <dependency name="Dependency8" supplierName="org.sharengo.cms.core.daos.ContentDao"/>
    <dependency name="Dependency10" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <dependency name="Dependency12" supplierName="org.sharengo.cms.core.services.AttributeDefinitionSrv"/>
    <dependency name="Dependency19" supplierName="org.sharengo.utils.container.link.services.LinkSrv"/>
    <operation name="create" visibility="public">
      <parameter name="contentDefinitionData" type="org.sharengo.cms.core.dtos.ContentDef"/>
      <returnParameter type="org.sharengo.cms.core.dtos.ContentDef"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllOrderedByName" visibility="public">
      <returnParameter type="List&lt;ContentDefHeader&gt;"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="find" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.ContentDef"/>
      <parameter name="id" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="delete" visibility="public">
      <parameter name="contentDefinitionId" type="String"/>
      <returnParameter type="Boolean"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="update" visibility="public">
      <parameter name="definition" type="org.sharengo.cms.core.dtos.ContentDef"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.CoherencyException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllOrderedBy" visibility="public">
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <parameter name="sortConstraints" type="org.sharengo.cms.core.services.List&lt;SortConstraint&gt;"/>
      <returnParameter type="PagedResult&lt;ContentDefHeader&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findAllWithNameBegin" visibility="public">
      <parameter name="beginName" type="String"/>
      <returnParameter type="List&lt;String&gt;"/>
      <parameter name="numberRequired" type="Integer"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findByName" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.ContentDefHeader"/>
      <parameter name="name" type="String"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createOrUpdate" visibility="public">
      <parameter name="ContentDefDto" type="org.sharengo.cms.core.dtos.ContentDef"/>
      <returnParameter type="Boolean"/>
      <parameter name="strategy" type="org.sharengo.cms.core.services.ImportStrategy"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.ExceptionsStack"/>
    </operation>
    <operation name="getContentDefByName" visibility="public">
      <returnParameter type="String"/>
      <parameter name="name" type="String"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="EditorialSrv" package="org.sharengo.cms.core.services">
    <stereotype name="Service"/>
    <dependency name="Dependency21" supplierName="org.sharengo.cms.core.services.ContentDefinitionSrv"/>
    <dependency name="Dependency22" supplierName="org.sharengo.cms.core.services.ContentSrv"/>
    <operation name="create" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.ContentDef"/>
      <parameter name="description" type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="composant" type="List&lt;ContentDef&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="deleteModel" visibility="public">
      <parameter name="modelId" type="String"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.DataException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="updateDescription" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="modelId" type="String"/>
      <parameter name="description" type="org.sharengo.cms.core.dtos.Content"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findModel" visibility="public">
      <parameter name="modelId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.ContentDef"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findModelByName" visibility="public">
      <parameter name="modelName" type="String"/>
      <returnParameter type="org.sharengo.cms.core.dtos.ContentDef"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="findModels" visibility="public">
      <parameter name="begin" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <returnParameter type="PagedResult&lt;ContentDefHeader&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="addContentDef" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="modelId" type="String"/>
      <parameter name="composant" type="org.sharengo.cms.core.dtos.ContentDef"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="removeContentDef" visibility="public">
      <parameter name="modelId" type="String"/>
      <parameter name="composantId" type="String"/>
      <returnParameter type="Boolean"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.DataException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullOrEmptyParameterException"/>
      <stereotype name="Remote"/>
    </operation>
    <operation name="createModel" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.ContentDef"/>
      <parameter name="name" type="String"/>
      <parameter name="description" type="org.sharengo.cms.core.dtos.Content"/>
      <parameter name="specificAttDefs" type="List&lt;AttributeDef&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UniqueConstraintsException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.UnexpectedArgumentException"/>
      <stereotype name="Remote"/>
    </operation>
  </class>
  <class name="ContentDefinitionDao" package="org.sharengo.cms.core.daos">
    <stereotype name="Dao"/>
    <dependency name="Dependency1" supplierName="org.sharengo.cms.core.entities.ContentDefinition"/>
    <operation name="findByName" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.ContentDefinition"/>
      <parameter name="name" type="String"/>
    </operation>
    <operation name="findAllOrderedBy" visibility="public">
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <parameter name="sortConstraints" type="org.sharengo.cms.core.services.List&lt;SortConstraint&gt;"/>
      <returnParameter type="PagedResult&lt;ContentDefinition&gt;"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
    </operation>
    <operation name="findAllWithNameBegin" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <parameter name="beginName" type="String"/>
      <parameter name="numberRequired" type="Integer"/>
    </operation>
  </class>
  <class name="AttributeDefinitionDao" package="org.sharengo.cms.core.daos">
    <stereotype name="Dao"/>
    <dependency name="Dependency2" supplierName="org.sharengo.cms.core.entities.AttributeDefinition"/>
    <operation name="findByContentDef" visibility="public">
      <returnParameter type="List&lt;AttributeDefinition&gt;"/>
      <parameter name="contentDefId" type="String"/>
    </operation>
    <operation name="findByNameAndContentDefId" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.AttributeDefinition"/>
      <parameter name="name" type="String"/>
      <parameter name="contentDefId" type="String"/>
    </operation>
    <operation name="findClosedListByListItemId" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.ClosedList"/>
      <parameter name="listItemId" type="String"/>
    </operation>
    <operation name="findClosedList" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.ClosedList"/>
      <parameter name="closedListId" type="String"/>
    </operation>
    <operation name="findByContentDefAndNameBeginningWith" visibility="public">
      <parameter name="contentDefId" type="String"/>
      <parameter name="nameBeginning" type="String"/>
      <returnParameter type="List&lt;String&gt;"/>
    </operation>
  </class>
  <class name="ContentDao" package="org.sharengo.cms.core.daos">
    <stereotype name="Dao"/>
    <dependency name="Dependency3" supplierName="org.sharengo.cms.core.entities.ContentEntity"/>
    <operation name="findAllWithOrder" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.ContentEntity" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered" unique="false"/>
      <parameter name="orderParameter" type="String"/>
    </operation>
    <operation name="deleteFromDefinition" visibility="public">
      <parameter name="definition" type="org.sharengo.cms.core.entities.ContentDefinition"/>
    </operation>
    <operation name="findByContentDef" visibility="public">
      <returnParameter type="List&lt;ContentEntity&gt;"/>
      <parameter name="contentDefId" type="String"/>
    </operation>
    <operation name="findIdsByContentDef" visibility="public">
      <parameter name="contentDefId" type="String"/>
      <returnParameter type="List&lt;String&gt;"/>
    </operation>
    <operation name="findName" visibility="public">
      <returnParameter type="String"/>
      <parameter name="contentId" type="String"/>
    </operation>
    <operation name="findByTopic" visibility="public">
      <parameter name="topicId" type="String"/>
      <returnParameter type="List&lt;ContentEntity&gt;"/>
    </operation>
  </class>
  <class name="ListItemDao" package="org.sharengo.cms.core.daos">
    <stereotype name="Dao"/>
    <dependency name="Dependency4" supplierName="org.sharengo.cms.core.entities.ListItem"/>
    <operation name="findByNameAndClosedListId" visibility="public">
      <parameter name="name" type="String"/>
      <parameter name="closedListId" type="String"/>
      <returnParameter type="org.sharengo.cms.core.entities.ListItem"/>
    </operation>
    <operation name="findByDefinition" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.ListItem" maxMultiplicity="-1"/>
      <parameter name="definitionId" type="String"/>
    </operation>
  </class>
  <class name="AttributeDao" package="org.sharengo.cms.core.daos">
    <stereotype name="Dao"/>
    <dependency name="Dependency5" supplierName="org.sharengo.cms.core.entities.Attribute"/>
    <operation name="findByAttributeDefAndContent" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.Attribute"/>
      <parameter name="attributeDefId" type="String"/>
      <parameter name="contentId" type="String"/>
    </operation>
    <operation name="findByAttributeDef" visibility="public">
      <returnParameter type="List&lt;Attribute&gt;"/>
      <parameter name="attributeDefId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
    </operation>
    <operation name="findByNameBeginningWith" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <parameter name="attDefId" type="String"/>
      <parameter name="type" type="org.sharengo.cms.core.entities.AttributeType"/>
      <parameter name="nameBeginning" type="String"/>
    </operation>
  </class>
  <class name="SetOfContentsDao" package="org.sharengo.cms.core.daos">
    <stereotype name="Dao"/>
    <dependency name="Dependency6" supplierName="org.sharengo.cms.core.entities.SetOfContentsEntity"/>
    <operation name="findByName" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.SetOfContentsEntity"/>
      <parameter name="name" type="String"/>
    </operation>
    <operation name="findAllOrderedBy" visibility="public">
      <returnParameter type="PagedResult&lt;SetOfContentsEntity&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <parameter name="sortConstraints" type="org.sharengo.cms.core.services.List&lt;SortConstraint&gt;"/>
    </operation>
    <operation name="findContentsBySetOfContentsOrderedByContentDef" visibility="public">
      <returnParameter type="PagedResult&lt;ContentEntity&gt;"/>
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <parameter name="setOfContentsId" type="String"/>
    </operation>
    <operation name="findContentsOrderedBy" visibility="public">
      <parameter name="start" type="Integer"/>
      <parameter name="end" type="Integer"/>
      <parameter name="sortConstraints" type="org.sharengo.cms.core.services.List&lt;SortConstraint&gt;"/>
      <returnParameter type="PagedResult&lt;ContentEntity&gt;"/>
      <parameter name="setOfContentsId" type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.InvalidParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.OutOfRangeException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
    </operation>
    <operation name="containsContent" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="setOfContentsId" type="String"/>
      <parameter name="contentId" type="String"/>
    </operation>
  </class>
  <class name="TempNodesIdsDao" package="org.sharengo.cms.core.daos">
    <stereotype name="Dao"/>
    <dependency name="Dependency7" supplierName="org.sharengo.cms.core.entities.TempNodesIds"/>
  </class>
  <class name="TempNodeContentsDao" package="org.sharengo.cms.core.daos">
    <stereotype name="Dao"/>
    <dependency name="Dependency8" supplierName="org.sharengo.cms.core.entities.TempNodeContents"/>
  </class>
  <class name="ReferentialDao" package="org.sharengo.cms.core.daos">
    <stereotype name="Dao"/>
    <dependency name="Dependency47" supplierName="org.sharengo.cms.core.entities.ReferentialEntity"/>
    <operation name="existSource" visibility="public">
      <returnParameter type="Boolean"/>
      <parameter name="source" type="String"/>
    </operation>
  </class>
  <class name="FacetViewDao" package="org.sharengo.cms.core.daos.facet">
    <stereotype name="Dao"/>
    <dependency name="Dependency54" supplierName="org.sharengo.cms.core.entities.facet.FacetView"/>
    <operation name="findByName" visibility="public">
      <parameter name="viewName" type="String"/>
      <returnParameter type="org.sharengo.cms.core.entities.facet.FacetView"/>
    </operation>
    <operation name="findAllViewName" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
    </operation>
  </class>
  <class name="FacetViewChainDao" package="org.sharengo.cms.core.daos.facet">
    <stereotype name="Dao"/>
    <dependency name="Dependency55" supplierName="org.sharengo.cms.core.entities.facet.FacetViewChain"/>
  </class>
  <class name="FacetDao" package="org.sharengo.cms.core.daos.facet">
    <stereotype name="Dao"/>
    <dependency name="Dependency56" supplierName="org.sharengo.cms.core.entities.facet.Facet"/>
    <operation name="findByName" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.facet.Facet"/>
      <parameter name="facetName" type="String"/>
    </operation>
    <operation name="findAllFacetName" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
    </operation>
    <operation name="findAllFacetNameByContentDefinition" visibility="public">
      <returnParameter type="List&lt;String&gt;"/>
      <parameter name="contentDefinitionName" type="String"/>
    </operation>
  </class>
  <class name="TopicDao" package="org.sharengo.cms.core.daos.facet">
    <stereotype name="Dao"/>
    <dependency name="Dependency57" supplierName="org.sharengo.cms.core.entities.facet.Topic"/>
    <operation name="findByFacet" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;Topic&gt;"/>
      <parameter name="facetName" type="String"/>
    </operation>
    <operation name="findFacetNameByTopicId" visibility="public">
      <returnParameter type="String"/>
      <parameter name="topicId" type="String"/>
    </operation>
    <operation name="findAllTopic" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;Topic&gt;"/>
      <parameter name="contentId" type="String"/>
    </operation>
    <operation name="findAllTopic" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;Topic&gt;"/>
      <parameter name="contentId" type="String"/>
      <parameter name="facetName" type="String"/>
    </operation>
    <operation name="findByParentId" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.facet.List&lt;Topic&gt;"/>
      <parameter name="parentTopicId" type="String"/>
    </operation>
    <operation name="findByTopicId" visibility="public">
      <parameter name="topicId" type="String"/>
      <parameter name="childTopicValue" type="String"/>
      <returnParameter type="org.sharengo.cms.core.entities.facet.Topic"/>
    </operation>
    <operation name="findByFacetName" visibility="public">
      <parameter name="facetName" type="String"/>
      <parameter name="childTopicValue" type="String"/>
      <returnParameter type="org.sharengo.cms.core.entities.facet.Topic"/>
    </operation>
  </class>
  <class name="TopicRuleDao" package="org.sharengo.cms.core.daos.facet">
    <stereotype name="Dao"/>
    <dependency name="Dependency58" supplierName="org.sharengo.cms.core.entities.facet.TopicRule"/>
    <operation name="findByTopics" visibility="public">
      <returnParameter type="org.sharengo.cms.core.entities.facet.TopicRule"/>
      <parameter name="topics" type="List&lt;String&gt;"/>
    </operation>
    <operation name="findByTopic" visibility="public">
      <returnParameter type="List&lt;TopicRule&gt;"/>
      <parameter name="topicId" type="String"/>
    </operation>
  </class>
  <class name="ImportResult" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="submitted" visibility="public" type="Integer"/>
    <attribute name="updated" visibility="public" type="Integer"/>
    <attribute name="created" visibility="public" type="Integer"/>
    <attribute name="total" visibility="public" type="Integer"/>
  </class>
  <class name="ContentDefHeader" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute name="description" visibility="public" type="String"/>
    <attribute name="id" visibility="public" type="String"/>
    <attribute name="definitionId" visibility="public" type="String"/>
    <attribute name="isDisable" visibility="public" type="Boolean" defaultValue="false"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.DatedElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
  </class>
  <class name="AttributeDef" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="id" visibility="public" type="String"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute name="type" visibility="public" type="org.sharengo.cms.core.entities.AttributeType"/>
    <attribute name="idContentDef" visibility="public" type="String"/>
    <attribute name="defaultValue" visibility="public" type="String"/>
    <attribute name="isMandatory" visibility="public" type="Boolean"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
  </class>
  <class name="Content" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="id" visibility="public" type="String"/>
    <attribute name="definitionId" visibility="public" type="String"/>
    <attribute name="attributeValues" visibility="public" type="org.sharengo.cms.core.dtos.Set&lt;AttributeValue&gt;"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.DatedElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
    <attribute name="source" reverseAttributeName="contents" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
  </class>
  <class name="Item" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="id" visibility="public" type="String"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute type="org.sharengo.cms.core.dtos.ClosedListAttributeDef" reverseAttributeName="Items" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
  </class>
  <class name="ClosedListAttributeDef" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeDef"/>
    <attribute name="Items" type="org.sharengo.cms.core.dtos.Item" reverseAttributeName="" reverseMaxMultiplicity="1" associationType="composite" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="ordered"/>
  </class>
  <class name="ContentHeader" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="id" visibility="public" type="String"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute name="definition" visibility="public" type="org.sharengo.cms.core.dtos.ContentDefHeader"/>
    <attribute name="firstAttributeDef" visibility="public" type="org.sharengo.cms.core.dtos.AttributeDef"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.DatedElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
  </class>
  <class name="SetOfContents" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute name="description" visibility="public" type="String"/>
    <attribute name="updateDate" visibility="public" type=""/>
    <attribute name="creationDate" visibility="public" type=""/>
    <attribute name="id" visibility="public" type="String"/>
    <attribute name="containedContentsCount" visibility="public" type="Integer"/>
  </class>
  <class name="SortConstraint" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="columName" visibility="public" type="String"/>
    <attribute name="sortMode" visibility="public" type="org.sharengo.cms.core.dtos.SortMode"/>
  </class>
  <enumeration name="SortMode" package="org.sharengo.cms.core.dtos">
    <literal name="ASC"/>
    <literal name="DESC"/>
  </enumeration>
  <class name="ContentDefSearchDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AbstractSearchDto"/>
    <attribute name="contentDefId" visibility="public" type="String"/>
    <attribute name="fromDate" visibility="public" type=""/>
    <attribute name="toDate" visibility="public" type=""/>
    <attribute name="includedContentIds" visibility="public" type="List&lt;String&gt;"/>
    <attribute name="excludedContentIds" visibility="public" type="List&lt;String&gt;"/>
    <attribute name="source" visibility="public" type="String"/>
    <attribute name="attributes" type="org.sharengo.cms.core.dtos.AttributeSearchDto" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="ordered"/>
    <attribute name="source" type="org.sharengo.cms.core.dtos.ContentNomenclatureSearchDto" reverseAttributeName="searchDto" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
    <attribute name="facets" type="org.sharengo.cms.core.dtos.FacetSearchDto" reverseAttributeName="search" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="ordered"/>
  </class>
  <class name="AttributeSearchDto" package="org.sharengo.cms.core.dtos" abstract="true">
    <stereotype name="Dto"/>
    <attribute name="attributeDefId" visibility="public" type="String"/>
    <attribute name="operand" visibility="public" type="org.sharengo.cms.core.dtos.SearchOperand"/>
    <attribute type="org.sharengo.cms.core.dtos.ContentDefSearchDto" reverseAttributeName="attributes" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
  </class>
  <class name="NumericAttributeSearchDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeSearchDto"/>
    <attribute name="value" visibility="public" type="String"/>
    <attribute name="secondValue" visibility="public" type="String"/>
  </class>
  <class name="TextAttributeSearchDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeSearchDto"/>
    <attribute name="value" visibility="public" type="String"/>
  </class>
  <class name="DateAttributeSearchDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeSearchDto"/>
    <attribute name="value" visibility="public" type=""/>
    <attribute name="secondValue" visibility="public" type=""/>
  </class>
  <class name="ListAttributeSearchDto" package="org.sharengo.cms.core.dtos" abstract="true">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeSearchDto"/>
  </class>
  <class name="SingleChoiceAttributeSearchDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.ListAttributeSearchDto"/>
    <attribute name="choiceId" visibility="public" type="String"/>
  </class>
  <class name="MultipleChoiceAttributeSearchDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.ListAttributeSearchDto"/>
    <attribute name="choiceIds" visibility="public" type="List&lt;String&gt;"/>
  </class>
  <enumeration name="SearchOperand" package="org.sharengo.cms.core.dtos">
    <literal name="EQUALS"/>
    <literal name="NOT_EQUALS"/>
    <literal name="LESS"/>
    <literal name="LESS_OR_EQUALS"/>
    <literal name="GREATER"/>
    <literal name="GREATER_OR_EQUALS"/>
    <literal name="BEGINS_WITH"/>
    <literal name="ENDS_WITH"/>
    <literal name="CONTAINS"/>
    <literal name="NOT_CONTAINS"/>
    <literal name="BETWEEN"/>
  </enumeration>
  <class name="RestrictionDto" package="org.sharengo.cms.core.dtos" abstract="true">
    <stereotype name="Dto"/>
    <attribute name="name" visibility="public" type="org.sharengo.cms.core.dtos.RestrictionName"/>
  </class>
  <enumeration name="RestrictionName" package="org.sharengo.cms.core.dtos">
    <literal name="EQUALS"/>
    <literal name="NOT_EQUALS"/>
    <literal name="LESS"/>
    <literal name="LESS_OR_EQUAL"/>
    <literal name="GREATER"/>
    <literal name="GREATER_OR_EQUAL"/>
    <literal name="CONTAINS"/>
    <literal name="STARTS_WITH"/>
    <literal name="ENDS_WITH"/>
    <literal name="NOT"/>
    <literal name="AND"/>
    <literal name="OR"/>
    <literal name="BETWEEN"/>
    <literal name="TRUE"/>
    <literal name="FALSE"/>
  </enumeration>
  <class name="BinaryOperator" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.RestrictionDto"/>
    <attribute name="element" visibility="public" type="org.sharengo.cms.core.dtos.ElementDto"/>
    <attribute name="value" visibility="public" type="String"/>
  </class>
  <class name="Equals" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.BinaryOperator"/>
  </class>
  <class name="NotEquals" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.BinaryOperator"/>
  </class>
  <class name="GreaterOrEqual" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.BinaryOperator"/>
  </class>
  <class name="Greater" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.BinaryOperator"/>
  </class>
  <class name="Less" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.BinaryOperator"/>
  </class>
  <class name="LessOrEqual" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.BinaryOperator"/>
  </class>
  <class name="Not" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.RestrictionDto"/>
    <attribute name="restriction" visibility="public" type="org.sharengo.cms.core.dtos.RestrictionDto"/>
  </class>
  <class name="And" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.RestrictionDto"/>
    <attribute name="restrictions" visibility="public" type="org.sharengo.cms.core.services.List&lt;RestrictionDto&gt;"/>
  </class>
  <class name="Or" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.RestrictionDto"/>
    <attribute name="restrictions" visibility="public" type="org.sharengo.cms.core.services.List&lt;RestrictionDto&gt;"/>
  </class>
  <class name="Contains" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.RestrictionDto"/>
    <attribute name="element" visibility="public" type="org.sharengo.cms.core.dtos.ElementDto"/>
    <attribute name="value" visibility="public" type="List&lt;String&gt;"/>
  </class>
  <class name="ElementDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="elementName" visibility="public" type="org.sharengo.cms.core.dtos.ElementName"/>
    <attribute name="operandName" visibility="public" type="String"/>
    <attribute name="operandType" visibility="public" type="org.sharengo.cms.core.dtos.OperandType"/>
  </class>
  <enumeration name="ElementName" package="org.sharengo.cms.core.dtos">
    <literal name="CONTENT_DEFINITION"/>
    <literal name="CONTENT"/>
    <literal name="ATTRIBUTE"/>
    <literal name="FACET"/>
  </enumeration>
  <class name="EndsWith" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.BinaryOperator"/>
  </class>
  <class name="StartsWith" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.BinaryOperator"/>
  </class>
  <enumeration name="OperandType" package="org.sharengo.cms.core.dtos">
    <literal name="ID"/>
    <literal name="STRING"/>
    <literal name="TEXT"/>
    <literal name="XHTML"/>
    <literal name="MULTIMEDIA"/>
    <literal name="FLOAT"/>
    <literal name="INTEGER"/>
    <literal name="DATE"/>
    <literal name="SIMPLE_CHOICE_CLOSED_LIST"/>
    <literal name="MULTIPLE_CHOICE_CLOSED_LIST"/>
    <literal name="FACET_NAME"/>
    <literal name="PARENT_TOPIC"/>
  </enumeration>
  <enumeration name="OperandName" package="org.sharengo.cms.core.dtos">
    <literal name="ID"/>
    <literal name="CREATION_DATE"/>
    <literal name="SOURCE"/>
  </enumeration>
  <class name="Between" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.RestrictionDto"/>
    <attribute name="element" visibility="public" type="org.sharengo.cms.core.dtos.ElementDto"/>
    <attribute name="min" visibility="public" type="String"/>
    <attribute name="max" visibility="public" type="String"/>
  </class>
  <class name="AbstractSearchDto" package="org.sharengo.cms.core.dtos" abstract="true">
    <stereotype name="Dto"/>
  </class>
  <class name="KeywordsSearchDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AbstractSearchDto"/>
    <attribute name="keyword" visibility="public" type="String"/>
  </class>
  <class name="ContentDef" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.ContentDefHeader"/>
    <attribute name="attributes" visibility="public" type="List&lt;AttributeDef&gt;"/>
  </class>
  <class name="AttributeValue" package="org.sharengo.cms.core.dtos" abstract="true">
    <stereotype name="Dto"/>
    <attribute name="attributeDefId" visibility="public" type="String"/>
    <operation name="getValue" visibility="public">
      <returnParameter type=""/>
    </operation>
    <operation name="setValue" visibility="public">
      <parameter name="value" type=""/>
    </operation>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
  </class>
  <class name="StringValue" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeValue"/>
    <attribute name="stringValue" visibility="public" type="String"/>
    <operation name="getValue" visibility="public">
      <returnParameter type=""/>
    </operation>
    <operation name="setValue" visibility="public">
      <parameter name="value" type=""/>
    </operation>
  </class>
  <class name="DateValue" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeValue"/>
    <attribute name="dateValue" visibility="public" type=""/>
    <operation name="getValue" visibility="public">
      <returnParameter type=""/>
    </operation>
    <operation name="setValue" visibility="public">
      <parameter name="value" type=""/>
    </operation>
  </class>
  <class name="DoubleValue" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeValue"/>
    <attribute name="doubleValue" visibility="public" type="Double"/>
    <operation name="getValue" visibility="public">
      <returnParameter type=""/>
    </operation>
    <operation name="setValue" visibility="public">
      <parameter name="value" type=""/>
    </operation>
  </class>
  <class name="IntegerValue" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeValue"/>
    <attribute name="integerValue" visibility="public" type="Integer"/>
    <operation name="getValue" visibility="public">
      <returnParameter type=""/>
    </operation>
    <operation name="setValue" visibility="public">
      <parameter name="value" type=""/>
    </operation>
  </class>
  <class name="UpdateResult" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="submitted" visibility="public" type="Integer"/>
    <attribute name="dealt" visibility="public" type="Integer"/>
    <attribute name="total" visibility="public" type="Integer"/>
  </class>
  <class name="ContentLink" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.utils.container.link.dtos.Link"/>
    <attribute name="sourceContent" visibility="public" type="org.sharengo.cms.core.dtos.ContentHeader"/>
    <attribute name="targetContent" visibility="public" type="org.sharengo.cms.core.dtos.ContentHeader"/>
  </class>
  <class name="LinkWithContentNames" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.utils.container.link.dtos.Link"/>
    <attribute name="contentSourceName" visibility="public" type="String"/>
    <attribute name="contentTargetName" visibility="public" type="String"/>
    <attribute name="source" type="org.sharengo.cms.core.dtos.LinkDefinitionExport" reverseAttributeName="links" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
  </class>
  <class name="LinkDefinitionExport" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.utils.container.link.dtos.LinkDefinition"/>
    <operation name="addAllLinks" visibility="public">
      <parameter name="links" type="List&lt;LinkWithContentNames&gt;"/>
    </operation>
    <attribute name="links" type="org.sharengo.cms.core.dtos.LinkWithContentNames" reverseAttributeName="source" reverseMaxMultiplicity="1" associationType="composite" minMultiplicity="0" maxMultiplicity="-1" navigable="true"/>
  </class>
  <class name="LinkBetweenNodesAndContents" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="nodeId" visibility="public" type="String"/>
    <attribute name="contentsIds" visibility="public" type="List&lt;String&gt;"/>
  </class>
  <class name="Referential" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="source" visibility="public" type="String"/>
    <attribute name="date" visibility="public" type=""/>
    <attribute name="nbProducts" visibility="public" type="Integer"/>
    <attribute name="id" visibility="public" type="String"/>
    <attribute name="nomenclature" type="org.sharengo.utils.container.nomenclature.dtos.Nomenclature" reverseAttributeName="referential" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
  </class>
  <class name="FacetContent" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <attribute name="facetName" visibility="protected" type="String"/>
    <attribute name="topics" visibility="protected" type="org.sharengo.cms.core.dtos.facet.List&lt;TopicDTO&gt;"/>
  </class>
  <class name="FacetResult" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <attribute name="facetName" visibility="protected" type="String"/>
    <attribute name="topicResults" visibility="protected" type="org.sharengo.cms.core.dtos.facet.List&lt;TopicResult&gt;"/>
  </class>
  <class name="TopicDTO" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <attribute name="id" visibility="public" type="String"/>
    <attribute name="value" visibility="public" type="String"/>
  </class>
  <class name="TopicResult" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.facet.TopicDTO"/>
    <attribute name="count" visibility="public" type="Integer"/>
  </class>
  <class name="CriterionDto" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <attribute name="name" visibility="protected" type="String"/>
    <attribute name="displayName" visibility="protected" type="String"/>
    <attribute name="pictureId" visibility="protected" type="String"/>
    <attribute name="pitch" visibility="protected" type="String"/>
    <attribute name="attDefId" visibility="protected" type="String"/>
    <attribute name="contentId" visibility="protected" type="String"/>
  </class>
  <class name="TopicRuleDto" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <attribute name="id" visibility="public" type="String"/>
    <attribute name="request" visibility="public" type="String"/>
    <attribute name="search" visibility="public" type="org.sharengo.cms.core.services.List&lt;ContentNomenclatureSearchDto&gt;"/>
    <attribute name="number" visibility="public" type="Integer"/>
    <attribute name="lastUser" visibility="public" type="String"/>
    <attribute name="creationDate" visibility="public" type=""/>
    <attribute name="lastUsedDate" visibility="public" type=""/>
    <attribute name="lastModificationDate" visibility="public" type=""/>
  </class>
  <class name="Level" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.facet.TopicResult"/>
    <attribute name="entryPoint" type="org.sharengo.cms.core.dtos.facet.EntryPoint" reverseAttributeName="level" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
  </class>
  <class name="EntryPoint" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute name="level" type="org.sharengo.cms.core.dtos.facet.Level" reverseAttributeName="entryPoint" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true"/>
  </class>
  <class name="Label" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.facet.TopicResult"/>
    <attribute name="subject" type="org.sharengo.cms.core.dtos.facet.Subject" reverseAttributeName="labels" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
  </class>
  <class name="Subject" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute name="labels" type="org.sharengo.cms.core.dtos.facet.Label" reverseAttributeName="subject" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true"/>
  </class>
  <class name="Family" package="org.sharengo.cms.core.dtos.facet">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.facet.TopicDTO"/>
  </class>
  <class name="ContentNomenclatureSearchDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="searchNodeIds" visibility="public" type="Set&lt;String&gt;"/>
    <operation name="addSearchNodeId" visibility="public">
      <parameter name="nodeId" type="String"/>
    </operation>
    <operation name="removeSearchNodeId" visibility="public">
      <parameter name="nodeId" type="String"/>
    </operation>
    <operation name="containsNodeId" visibility="public">
      <parameter name="nodeId" type="String"/>
      <returnParameter type="Boolean"/>
    </operation>
    <operation name="getSearchDtoAsList" visibility="public">
      <returnParameter type="org.sharengo.cms.core.dtos.List&lt;AbstractSearchDto&gt;"/>
    </operation>
    <attribute name="searchDto" type="org.sharengo.cms.core.dtos.ContentDefSearchDto" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
  </class>
  <class name="FacetSearchDto" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <attribute name="facetName" visibility="public" type="String"/>
    <attribute name="topicId" visibility="public" type="String"/>
    <attribute name="parentTopicId" visibility="public" type="String"/>
    <attribute name="search" type="org.sharengo.cms.core.dtos.ContentDefSearchDto" reverseAttributeName="facets" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
  </class>
  <class name="ContentValue" package="org.sharengo.cms.core.dtos">
    <stereotype name="Dto"/>
    <superclass name="org.sharengo.cms.core.dtos.AttributeValue"/>
    <attribute name="contentValue" visibility="public" type="org.sharengo.cms.core.dtos.Content"/>
  </class>
  <class name="ContentDefinition" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute name="description" visibility="public" type="String"/>
    <attribute name="isDisable" visibility="public" type="Boolean" defaultValue="false"/>
    <attribute type="org.sharengo.cms.core.entities.ContentEntity" reverseAttributeName="definition" reverseMaxMultiplicity="1" associationType="shared" minMultiplicity="0" maxMultiplicity="-1" navigable="false"/>
    <attribute name="attributeDefinitions" type="org.sharengo.cms.core.entities.AttributeDefinition" reverseAttributeName="contentDefinition" reverseMaxMultiplicity="1" associationType="shared" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="ordered"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.DatedElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
    <attribute name="definition" type="org.sharengo.cms.core.entities.ContentEntity" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="1" navigable="true"/>
  </class>
  <class name="AttributeDefinition" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <attribute name="type" visibility="public" type="org.sharengo.cms.core.entities.AttributeType"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute name="defaultValue" visibility="public" type="String"/>
    <attribute name="isMandatory" visibility="public" type="Boolean"/>
    <attribute name="contentDefinition" type="org.sharengo.cms.core.entities.ContentDefinition" reverseAttributeName="attributeDefinitions" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
    <attribute type="org.sharengo.cms.core.entities.Attribute" reverseAttributeName="definition" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
  </class>
  <class name="ContentEntity" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <attribute name="definition" type="org.sharengo.cms.core.entities.ContentDefinition" reverseAttributeName="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
    <attribute name="attributes" type="org.sharengo.cms.core.entities.Attribute" reverseAttributeName="content" reverseMaxMultiplicity="1" associationType="shared" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="ordered"/>
    <attribute type="org.sharengo.cms.core.entities.SetOfContentsEntity" reverseAttributeName="contents" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="false"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.DatedElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
    <attribute name="topics" type="org.sharengo.cms.core.entities.facet.Topic" reverseAttributeName="contents" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true"/>
    <attribute type="org.sharengo.cms.core.entities.ContentDefinition" reverseAttributeName="definition" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
  </class>
  <class name="Attribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <attribute name="definition" type="org.sharengo.cms.core.entities.AttributeDefinition" reverseAttributeName="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
    <attribute name="content" type="org.sharengo.cms.core.entities.ContentEntity" reverseAttributeName="attributes" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
  </class>
  <class name="SimpleStringAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <dependency name="Dependency1" supplierName=""/>
    <superclass name="org.sharengo.cms.core.entities.Attribute"/>
    <attribute name="value" visibility="public" type="String"/>
  </class>
  <class name="ClosedListAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <dependency name="Dependency3" supplierName=""/>
    <superclass name="org.sharengo.cms.core.entities.Attribute"/>
  </class>
  <class name="ListItem" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <attribute name="value" visibility="public" type="String"/>
    <attribute name="closedList" type="org.sharengo.cms.core.entities.ClosedList" reverseAttributeName="items" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
    <attribute name="list" type="org.sharengo.cms.core.entities.SimpleChoiceClosedListAttribute" reverseAttributeName="choice" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false"/>
    <attribute name="list" type="org.sharengo.cms.core.entities.MultipleChoiceClosedListAttribute" reverseAttributeName="choices" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="false"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
  </class>
  <class name="TextAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <superclass name="org.sharengo.cms.core.entities.Attribute"/>
    <attribute name="value" visibility="public" type="String"/>
  </class>
  <class name="FloatAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <superclass name="org.sharengo.cms.core.entities.Attribute"/>
    <attribute name="value" visibility="public" type="Double"/>
  </class>
  <class name="IntegerAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <dependency name="Dependency2" supplierName=""/>
    <superclass name="org.sharengo.cms.core.entities.Attribute"/>
    <attribute name="value" visibility="public" type="Integer"/>
  </class>
  <class name="MultimediaAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <superclass name="org.sharengo.cms.core.entities.Attribute"/>
    <attribute name="value" visibility="public" type="String"/>
  </class>
  <class name="MultipleChoiceClosedListAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <superclass name="org.sharengo.cms.core.entities.ClosedListAttribute"/>
    <attribute name="choices" type="org.sharengo.cms.core.entities.ListItem" reverseAttributeName="list" reverseMaxMultiplicity="-1" associationType="shared" minMultiplicity="0" maxMultiplicity="-1" navigable="true"/>
  </class>
  <class name="XhtmlAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <superclass name="org.sharengo.cms.core.entities.Attribute"/>
    <attribute name="value" visibility="public" type="String"/>
  </class>
  <class name="ClosedList" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <superclass name="org.sharengo.cms.core.entities.AttributeDefinition"/>
    <attribute name="items" type="org.sharengo.cms.core.entities.ListItem" reverseAttributeName="closedList" reverseMaxMultiplicity="1" associationType="shared" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="ordered"/>
  </class>
  <class name="SimpleChoiceClosedListAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <superclass name="org.sharengo.cms.core.entities.ClosedListAttribute"/>
  </class>
  <enumeration name="AttributeType" package="org.sharengo.cms.core.entities">
    <literal name="SIMPLE_STRING"/>
    <literal name="TEXT"/>
    <literal name="MULTIMEDIA"/>
    <literal name="FLOAT"/>
    <literal name="INTEGER"/>
    <literal name="XHTML"/>
    <literal name="SIMPLE_CHOICE_CLOSED_LIST"/>
    <literal name="MULTIPLE_CHOICE_CLOSED_LIST"/>
    <literal name="DATE"/>
    <literal name="CONTENT_DEF"/>
  </enumeration>
  <class name="DateAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <superclass name="org.sharengo.cms.core.entities.Attribute"/>
    <attribute name="value" visibility="public" type=""/>
  </class>
  <class name="SetOfContentsEntity" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <attribute name="name" visibility="public" type="String"/>
    <attribute name="description" visibility="public" type="String"/>
    <attribute name="containedContentsCount" visibility="public" type="Integer"/>
    <attribute name="contents" type="org.sharengo.cms.core.entities.ContentEntity" reverseAttributeName="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true"/>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.DatedElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
    <attribute name="target" type="org.sharengo.utils.utils.embedded.ExternalIdentifiableElement" reverseAttributeName="source" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true">
      <stereotype name="Embedded"/>
    </attribute>
  </class>
  <class name="TempNodesIds" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <attribute name="technicalId" visibility="public" type="String"/>
    <attribute name="externalId" visibility="public" type="String"/>
  </class>
  <class name="TempNodeContents" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <attribute name="technicalNodeId" visibility="public" type="String"/>
    <attribute name="technicalContentId" visibility="public" type="List&lt;String&gt;" unique="false"/>
  </class>
  <class name="ReferentialEntity" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <attribute name="source" visibility="public" type="String"/>
    <attribute name="date" visibility="public" type=""/>
    <attribute name="nbProducts" visibility="public" type="Integer"/>
    <attribute name="nomenclature" type="org.sharengo.utils.container.nomenclature.entities.NomenclatureEntity" reverseAttributeName="referential" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
  </class>
  <class name="FacetView" package="org.sharengo.cms.core.entities.facet">
    <stereotype name="Entity"/>
    <attribute name="name" visibility="protected" type="String"/>
    <attribute name="chains" type="org.sharengo.cms.core.entities.facet.FacetViewChain" reverseAttributeName="view" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="ordered"/>
    <attribute name="topic" type="org.sharengo.cms.core.entities.facet.Topic" reverseAttributeName="view" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="1" navigable="true"/>
  </class>
  <class name="FacetViewChain" package="org.sharengo.cms.core.entities.facet">
    <stereotype name="Entity"/>
    <attribute name="view" type="org.sharengo.cms.core.entities.facet.FacetView" reverseAttributeName="chains" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false"/>
    <attribute name="facets" type="org.sharengo.cms.core.entities.facet.Facet" reverseAttributeName="chain" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="ordered"/>
  </class>
  <class name="Facet" package="org.sharengo.cms.core.entities.facet">
    <stereotype name="Entity"/>
    <attribute name="name" visibility="protected" type="String"/>
    <attribute name="chain" type="org.sharengo.cms.core.entities.facet.FacetViewChain" reverseAttributeName="facets" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="false"/>
    <attribute name="topics" type="org.sharengo.cms.core.entities.facet.Topic" reverseAttributeName="facet" reverseMaxMultiplicity="1" associationType="shared" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="ordered"/>
    <attribute name="content" type="org.sharengo.cms.core.entities.ContentEntity" reverseAttributeName="facet" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
    <attribute name="segmentation" type="org.sharengo.cms.core.entities.AttributeDefinition" reverseAttributeName="facet" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true"/>
  </class>
  <class name="Topic" package="org.sharengo.cms.core.entities.facet">
    <stereotype name="Entity"/>
    <attribute name="value" visibility="protected" type="String"/>
    <attribute name="request" visibility="protected" type="String"/>
    <attribute name="facet" type="org.sharengo.cms.core.entities.facet.Facet" reverseAttributeName="topics" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="1" navigable="true"/>
    <attribute name="contents" type="org.sharengo.cms.core.entities.ContentEntity" reverseAttributeName="topic" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true"/>
    <attribute name="rule" type="org.sharengo.cms.core.entities.facet.TopicRule" reverseAttributeName="topics" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true"/>
    <attribute name="view" type="org.sharengo.cms.core.entities.facet.FacetView" reverseAttributeName="topic" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false"/>
  </class>
  <class name="TopicRule" package="org.sharengo.cms.core.entities.facet">
    <stereotype name="Entity"/>
    <attribute name="request" visibility="protected" type="String"/>
    <attribute name="number" visibility="protected" type="Integer"/>
    <attribute name="lastUser" visibility="protected" type="String"/>
    <attribute name="creationDate" visibility="protected" type=""/>
    <attribute name="lastUsedDate" visibility="protected" type=""/>
    <attribute name="lastModificationDate" visibility="protected" type=""/>
    <attribute name="topics" type="org.sharengo.cms.core.entities.facet.Topic" reverseAttributeName="rule" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="false"/>
  </class>
  <class name="ContentDefAttribute" package="org.sharengo.cms.core.entities">
    <stereotype name="Entity"/>
    <superclass name="org.sharengo.cms.core.entities.Attribute"/>
    <attribute name="value" visibility="public" type="org.sharengo.cms.core.entities.ContentEntity"/>
  </class>
  <class name="StartupInitializer" package="org.sharengo.cms.core.initialization">
    <dependency name="Dependency89" supplierName="org.sharengo.cms.core.services.XMLImportExportSrv"/>
    <operation name="onStartup" visibility="public">
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.GenericBusinessException"/>
      <exceptionParameter type="conception-helper.TechnicalException"/>
    </operation>
  </class>
  <class name="BeforeNodeDeleteAspect" package="org.sharengo.cms.core.aspects">
    <stereotype name="Service"/>
    <dependency name="Dependency9" supplierName="org.sharengo.utils.container.nomenclature.services.NomenclatureSrv"/>
    <dependency name="Dependency11" supplierName="org.sharengo.utils.container.link.services.LinkSrv"/>
    <interface name=""/>
    <operation name="onNodeDelete" visibility="public">
      <parameter name="nodeId" type="String"/>
      <returnParameter type="String" minMultiplicity="0" maxMultiplicity="-1" ordering="ordered"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
    </operation>
  </class>
  <class name="BeforeLinkDeleteAspect" package="org.sharengo.cms.core.aspects">
    <stereotype name="Service"/>
    <dependency name="Dependency6" supplierName="org.sharengo.cms.core.aspects.CompositionInitializer"/>
    <dependency name="Dependency7" supplierName="org.sharengo.cms.core.services.SetOfContentsSrv"/>
    <dependency name="Dependency8" supplierName="org.sharengo.utils.container.link.services.LinkSrv"/>
    <interface name=""/>
    <operation name="onLinkDelete" visibility="public">
      <parameter name="linkId" type="String"/>
      <returnParameter type="String"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.EmptyParameterException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NoSuchEntityException"/>
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.NullParameterException"/>
    </operation>
  </class>
  <class name="CompositionInitializer" package="org.sharengo.cms.core.aspects">
    <dependency name="Dependency10" supplierName="org.sharengo.utils.container.link.services.LinkSrv"/>
    <attribute name="linkDefId" static="true" visibility="private" type="String"/>
    <attribute name="linkDefName" visibility="public" type="String"/>
    <operation name="initializeComposition" visibility="public">
      <exceptionParameter type="org.sharengo.utils.utils.exceptions.GenericBusinessException"/>
      <exceptionParameter type="conception-helper.TechnicalException"/>
      <tagValue name="documentation" value="This dedicated opearation allow to load or create the dedicated LinkDef on application initialisation.&#13;&#10;"/>
    </operation>
  </class>
</objectModel>
