Interface IRelation<M extends IRelationMember<? extends IPrimitive>>

    • Method Detail

      • getMembersCount

        int getMembersCount()
        Returns the number of members.
        Returns:
        number of members
      • isEmpty

        default boolean isEmpty()
        Determines if this relation is empty, i.e. it has no members.
        Returns:
        true if this relation is empty, i.e. it has no members
        Since:
        16119
      • getMember

        M getMember​(int index)
        Returns the relation member at the specified index.
        Parameters:
        index - the index of the relation member
        Returns:
        relation member at the specified index
        Since:
        13766 (IRelation)
      • getMembers

        java.util.List<MgetMembers()
        Returns members of the relation.
        Returns:
        Members of the relation. Changes made in returned list are not mapped back to the primitive, use setMembers(java.util.List<M>) to modify the members
        Since:
        1925, 13766 (IRelation)
      • setMembers

        void setMembers​(java.util.List<M> members)
        Sets members of the relation.
        Parameters:
        members - Can be null, in that case all members are removed
      • getMemberId

        long getMemberId​(int idx)
        Returns id of the member at given index.
        Parameters:
        idx - member index
        Returns:
        id of the member at given index
      • getRole

        java.lang.String getRole​(int idx)
        Returns role of the member at given index.
        Parameters:
        idx - member index
        Returns:
        role of the member at given index
      • getMemberType

        OsmPrimitiveType getMemberType​(int idx)
        Returns type of the member at given index.
        Parameters:
        idx - member index
        Returns:
        type of the member at given index
      • hasIncompleteMembers

        default boolean hasIncompleteMembers()
        Determines if at least one child primitive is incomplete.
        Returns:
        true if at least one child primitive is incomplete
        Since:
        13564
      • getDisplayName

        default java.lang.String getDisplayName​(NameFormatter formatter)
        Description copied from interface: IPrimitive
        Replies the display name of a primitive formatted by formatter
        Specified by:
        getDisplayName in interface IPrimitive
        Parameters:
        formatter - formatter to use
        Returns:
        the display name
      • isBoundary

        default boolean isBoundary()
        Determines if this relation is a boundary.
        Returns:
        true if a boundary relation
      • isMultipolygon

        default boolean isMultipolygon()
        Description copied from interface: IPrimitive
        Determines if this object is a relation and behaves as a multipolygon.
        Specified by:
        isMultipolygon in interface IPrimitive
        Returns:
        true if it is a real multipolygon or a boundary relation
      • getMemberPrimitivesList

        default java.util.List<? extends IPrimitivegetMemberPrimitivesList()
        Returns an unmodifiable list of the OsmPrimitives referred to by at least one member of this relation.
        Returns:
        an unmodifiable list of the primitives
        Since:
        13957
      • getChildren

        default java.util.List<? extends IPrimitivegetChildren()
        Description copied from interface: IPrimitive
        Get child primitives that are referred by this primitive. Relation: Members of the relation Way: Nodes used by the way Node: None
        Specified by:
        getChildren in interface IPrimitive
        Returns:
        List of child primitives
      • getIncompleteMembers

        default java.util.Collection<? extends IPrimitivegetIncompleteMembers()
        Replies a collection with the incomplete children this relation refers to.
        Returns:
        the incomplete children. Empty collection if no children are incomplete.
        Since:
        13957
      • findRelationMembers

        default java.util.List<? extends IPrimitivefindRelationMembers​(java.lang.String role)
        Returns a list of relation members having the specified role.
        Parameters:
        role - role
        Returns:
        a list of relation members having the specified role
        Since:
        15418
      • isUseful

        default boolean isUseful()
        Check if this relation is useful
        Returns:
        true if this relation is useful
        Since:
        18413