Interface IAlignedSegments

    • Method Detail

      • iterator

        Iterator<Segment> iterator()
        Gets an iterator for the default source segments of this text unit. This iterator does not iterate through non-segment parts of the content.
        Specified by:
        iterator in interface Iterable<Segment>
        Returns:
        an iterator for the source segments of this text unit.
      • iterator

        Iterator<Segment> iterator​(LocaleId trgLoc)
        Gets an iterator for the source of the specified target locale. This iterator does not iterate through non-segment parts of the content.
        Parameters:
        trgLoc - the target locale for the source to iterate over.
        Returns:
        an iterator for the source segments used for trgLoc.
      • append

        void append​(Segment srcSeg,
                    Segment trgSeg,
                    LocaleId trgLoc)
        Adds given source and target segments to the end of the content.

        If srcSeg is non-null, the content of srcSeg will be used for any new segments that are not empty, otherwise the content of trgSeg will be used. srcSeg and trgSeg cannot both be null.

        Parameters:
        srcSeg - the source segment to add.
        trgSeg - the target segment to add. Null to use a clone of srcSeg instead.
        trgLoc - the target locale for which to append segments
        Throws:
        IllegalArgumentException - if srcSeg and trgSeg are both null
      • insert

        void insert​(int index,
                    Segment srcSeg,
                    Segment trgSeg,
                    LocaleId trgLoc)
        Inserts given source and target segments at the specified position in the list of segments.

        The validated id (after insertion) of srcSeg will be applied to all other inserted segments, including trgSeg.

        Parameters:
        index - the segment index position.
        srcSeg - the source segment to insert.
        trgSeg - the target segment to insert. Null to use srcSeg instead.
        trgLoc - the target locale for which to insert the segment
        Throws:
        IllegalArgumentException - if srcSeg is null
      • setSegment

        void setSegment​(int index,
                        Segment seg,
                        LocaleId trgLoc)
        Replaces a segment at a given position with a clone of the given segment.

        The segment id is determined by the segment at the position of index in the source for trgLoc, the segment id is then used to locate the segments in other sources and targets to replace.

        Parameters:
        index - the segment index position
        seg - the new segment to place at the position
        trgLoc - the target locale
        Throws:
        IndexOutOfBoundsException - if the index is out of bounds.
        IllegalArgumentException - if seg is null
      • remove

        boolean remove​(Segment seg,
                       LocaleId trgLoc)
        Removes the given segment and any segments with the same id from the specified sources and targets.
        Parameters:
        seg - the segment to remove.
        trgLoc - the locale used in specifying which sources and targets to use.
        Returns:
        true if remove success
      • getSource

        Segment getSource​(int index,
                          LocaleId trgLoc)
        Gets the source segment for the given target locale at a given position.

        The first segment has the index 0, the second has the index 1, etc.

        Parameters:
        index - the segment index of the segment to retrieve.
        trgLoc - the target locale for the source from which to retrieve the indicated segment.
        Returns:
        the segment at the given position.
        Throws:
        IndexOutOfBoundsException - if the index is out of bounds.
      • getCorrespondingTarget

        Segment getCorrespondingTarget​(Segment seg,
                                       LocaleId trgLoc)
        Gets the target segment corresponding to a given source segment
        Parameters:
        seg - the source (or other target) segment for which a corresponding target segment is requested.
        trgLoc - the target to look up.
        Returns:
        the corresponding target Segment (may be empty).
      • getCorrespondingSource

        Segment getCorrespondingSource​(Segment trgSeg,
                                       LocaleId trgLoc)
        Gets the source segment corresponding to a given target segment
        Parameters:
        trgSeg - the target segment for which the corresponding source segment is requested.
        trgLoc - the target locale of the source to look up.
        Returns:
        the source segment.
      • align

        void align​(List<AlignedPair> alignedSegmentPairs,
                   LocaleId trgLoc)
        Aligns all the segments listed in the aligned pairs for given locale.

        This will replace any content in the target and variant source for the given target locale (if either are not present they will be created).

        The target for the given locale will be considered aligned with its source when this operation is complete.

        Parameters:
        alignedSegmentPairs - the list of pairs to align
        trgLoc - the target locale to work with.
      • align

        void align​(LocaleId trgLoc)
        Aligns all the target segments with the source segments for the given locale.

        Assumes the same number of source and target segments otherwise an exception is thrown.

        Parameters:
        trgLoc - the locale of the target to work with.
        Throws:
        OkapiMisAlignmentException - if there are a different number of source and target segments.
      • alignCollapseAll

        void alignCollapseAll​(LocaleId trgLoc)
        Aligns all the segments for the specified sources and targets by collapsing all segments into one.
        Parameters:
        trgLoc - the target locale of the target (and its corresponding source) to collapse.
      • splitSource

        Segment splitSource​(LocaleId trgLoc,
                            Segment srcSeg,
                            int splitPos)
        Splits a given source segment into two.

        Alignment statuses are updated for the locales that have been modified. May cause a misalignment.

        Parameters:
        trgLoc - the target locale that uses the source in which the segment is to be split
        srcSeg - the source segment to split.
        splitPos - the position where to split.
        Returns:
        the new source segment created, or null if none was created.
      • splitTarget

        Segment splitTarget​(LocaleId trgLoc,
                            Segment trgSeg,
                            int splitPos)
        Splits a given target segment into two.

        Alignment statuses are updated for the locales that have been modified. May cause a misalignment.

        Parameters:
        trgLoc - the target locale to work on.
        trgSeg - the targets segment.
        splitPos - the position where to split.
        Returns:
        the new target segment created, or null if none was created.
      • joinWithNext

        void joinWithNext​(Segment seg,
                          LocaleId trgLoc)
        Joins the segment for a given segment's id to the next segment, including all the parts between the two segments.
        Parameters:
        seg - a segment holding the id to use for the join.
        trgLoc - the target locale
      • joinAll

        void joinAll​(LocaleId trgLoc)
        Joins all segments for the specified sources and targets. The content becomes a single segment.
        Parameters:
        trgLoc - the target locale
      • getAlignmentStatus

        AlignmentStatus getAlignmentStatus()
        Gets the status of the alignment for this entire text unit. The status will be NOT_ALIGNED if any of the targets in the parent TextUnit have a status of NOT_ALIGNED
        Returns:
        the status of the alignment for this text unit.
      • getAlignmentStatus

        AlignmentStatus getAlignmentStatus​(LocaleId trgLoc)
        Gets the status of the alignment the given target locale in this text unit.
        Parameters:
        trgLoc - the target locale for which to get the alignment status.
        Returns:
        the status of the alignment for this text unit.
      • segmentSource

        void segmentSource​(ISegmenter segmenter,
                           LocaleId targetLocale)
        Segments the source content used for the given target locale based on the rules provided by a given ISegmenter.

        No associated targets are modified.

        Parameters:
        segmenter - the segmenter to use to create the segments.
        targetLocale - the target locale that uses the source to segment.
      • segmentTarget

        void segmentTarget​(ISegmenter segmenter,
                           LocaleId targetLocale)
        Segments the specified target content based on the rules provided by a given ISegmenter.

        If the given target does not exist one is created.

        Parameters:
        segmenter - the segmenter to use to create the segments.
        targetLocale - LocaleId of the target we want to segment.