Class LinkingType

java.lang.Object
com.sodius.oslc.server.process.LinkingType

public class LinkingType extends Object
Either an OSLC domain or LinkType for linking two application's artifacts.
Since:
3.1.0
  • Method Details

    • of

      public static LinkingType of(URI uri, ApplicationArtifact artifact) throws LinkingTypesStoreException
      Builds an instance given the linking URI and HTTP request.
      Parameters:
      uri - the linking URI.
      artifact - the linking artifact.
      Returns:
      the corresponding instance.
      Throws:
      LinkingTypesStoreException - if an error prevents link types from being retrieved - added in 3.13.0.
      NullPointerException - if either uri or request is null.
      OslcWebApplicationException - if uri is an unknown OSLC domain or an unknown/invalid LinkType.
      Since:
      3.13.0
    • forLinkCompact

      public static LinkingType forLinkCompact(URI uri, ApplicationArtifact artifact) throws LinkingTypesStoreException
      Unlike of(URI, ApplicationArtifact), this method does not raise an exception if the artifact type mismatches the source range of the linking type, if any. This is convenient for resolving Compact resources of existing links which may have mutated into a different resource type after the link creation.

      Note: the exception will still be thrown if the artifact type mapping store is NOT implemented, meaning this method behaves exactly the same as of in such case

      Parameters:
      uri - the linking URI.
      artifact - the linking artifact.
      Returns:
      the corresponding instance.
      Throws:
      LinkingTypesStoreException - if an error prevents link types from being retrieved - added in 3.13.0.
      NullPointerException - if either uri or request is null.
      OslcWebApplicationException - if uri is an unknown OSLC domain or an unknown LinkType.
      Since:
      3.13.0
    • getUri

      public URI getUri()
      Gets the URI of the linking type.
      Returns:
      the linking type URI.
    • getTitle

      public String getTitle()
      Gets the linking type title.
      Returns:
      the linking type title.
      Since:
      3.5.0
    • getLinkType

      public Optional<LinkType> getLinkType()
      Gets the underlying link type, if any.
      Returns:
      the underlying link type.
      Since:
      3.13.0
    • getTargetDomain

      public URI getTargetDomain()
      Gets the target domain of this instance.
      Returns:
      the target domain URI.
    • filter

      public void filter(OslcCore.Finder<Dialog> filter) throws LinkingTypesStoreException
      Appends the target range of this instance to an OSLC dialog filter.
      Parameters:
      filter - the OSLC dialog filter.
      Throws:
      LinkingTypesStoreException - if an error prevents link types from being retrieved - added in 3.13.0.
      Since:
      3.13.0
    • getTargetTypes

      public Collection<ResourceType> getTargetTypes()
      Gets the target types of this instance.
      Returns:
      an empty collection if this instance represents an OSLC domain; the target resource types of the link type otherwise.
      Since:
      3.13.0
    • matches

      public boolean matches(LinkType linkType)
      Determines whether this linking type matches a LinkType.
      Parameters:
      linkType - the given link type.
      Returns:
      true if the linkType matches this linking type; false otherwise.
    • corresponds

      public boolean corresponds(ProjectAreaAssociation association) throws LinkingTypesStoreException
      Determines whether this linking type corresponds to a given ProjectAreaAssociation.
      Parameters:
      association - the given association.
      Returns:
      true if this linking type corresponds to the association; false otherwise.
      Throws:
      LinkingTypesStoreException - if an error prevents link types from being retrieved - added in 3.13.0.
      Since:
      3.3.0
    • getLinkingGroup

      public String getLinkingGroup() throws LinkingTypesStoreException
      Gets the linking group identifier to which this linking type belongs.
      Returns:
      the AssociationType.getIdentifier() of the corresponding link type if present; domain URI otherwise.
      Throws:
      LinkingTypesStoreException - if an error prevents association types from being retrieved - added in 3.13.0.
      Since:
      3.13.0