Interface IResourceContentImporter

All Known Implementing Classes:
ActiveDocumentResourceContentImporter, AddInResourceContentImporter, AdditionalIndexesContentImporter, BaseBmBlobImporter, BinaryResourceContentImporter, BusinessProcessImporter, CaiResourceContentImporter, ChartResourceContentImporter, CmiResourceContentImporter, CommonPicturePictureImporter, ConfigurationImporter, ConfigurationPictureImporter, DcsBmImporter, DistributionSupportResourceContentImporter, FormDcsResourceContentImporter, FormImporter, FormPictureImporter, GeographicalSchemaResourceContentImporter, GraphicalSchemeBmContentImporter, GraphicalSchemePictureImporter, HpwaResourceContentImporter, HtmlDocumentResourceContentImporter, MdObjectImporter, MobileDigiSignImporter, PlannerResourceContentImporter, RightsResourceContentImporter, ScheduleResourceContentImporter, SpreadsheetDocumentImporter, StandaloneConfigurationContentResourceContentImporter, StandardBmObjectImporter, StyleResourceContentImporter, SupplyResourceContentImporter, SuppressResourceContentImporter, TransactionalBmContentImporter, XdtoBmImporter

public interface IResourceContentImporter
Resource content importer.

Implementations should be registered by com._1c.g5.v8.bm.resourceContentImporter extension point. How model merging is performed can be defined by IResourceContentImporter.IMergeStrategy

  • Field Details

    • PLATFORM_VERSION

      static final String PLATFORM_VERSION
      Platform version parameter name. Being transferred as an option during the resource loading
      See Also:
    • PIPELINE_SEGMENT_PREFIX

      static final String PIPELINE_SEGMENT_PREFIX
      Common prefix for all orchestrated pipeline segments of importers
      See Also:
  • Method Details

    • getPipelineSegment

      String getPipelineSegment()
      Gets the name of the async pipeline segment for this importer to run
      Returns:
      The target async pipeline segment. Never null
    • dependsOn

      default Set<String> dependsOn()
      Gets a dependency list of the importer. Dependencies are being defined in the form of async processing pipeline segment identifiers
      Returns:
      The collection of dependencies. Never null. May be empty
    • getPipelineSegmentImportDescription

      default String getPipelineSegmentImportDescription()
      Gets a human-readable description of the importing segment to be shown to the user
      Returns:
      The description of an import stage. Never null
    • supports

      boolean supports(org.eclipse.core.runtime.IPath path)
      Checks if this importer supports the specified resource.
      Parameters:
      path - The path to the resource to check. May not be null.
      Returns:
      true if the resource is supported, false otherwise.
    • computeSignature

      byte[] computeSignature(InputStream content)
      Computes signature.
      Parameters:
      content - The imported content stream. May not be null
      Returns:
      A signature of the content. May be empty or null
    • handleResourceCreationOrModification

      default byte[] handleResourceCreationOrModification(IBmNamespace namespace, IDtProject project, org.eclipse.core.runtime.IPath path, Supplier<InputStream> contentSupplier, boolean fullOverride, boolean executeInGlobalContext)
      Handles resource creation or modification.
      Parameters:
      namespace - The target IBmNamespace. May not be null
      project - The target IDtProject. May not be null
      path - The imported resource path. May not be null
      contentSupplier - The imported content supplier. May not be null. Implementations should support any number of context requests to support the re-import process in case of BM deadlocks
      fullOverride - The full override mode switch. The full override mode replaces content of an old object completelly without merge
      executeInGlobalContext - The global editing context execution flag
      Returns:
      A signature of the imported content. May be null or empty
    • handleResourceDeletion

      default void handleResourceDeletion(IBmNamespace namespace, IDtProject project, org.eclipse.core.runtime.IPath path, boolean executeInGlobalContext)
      Handles resource deletion.
      Parameters:
      namespace - The target IBmNamespace. May not be null
      project - The target IDtProject. May not be null
      path - The imported resource path. May not be null
      executeInGlobalContext - The global editing context execution flag