Interface JavaArtifactFileDescriptor

  • All Superinterfaces:
    com.buschmais.jqassistant.plugin.common.api.model.ArtifactDescriptor, com.buschmais.jqassistant.plugin.common.api.model.ArtifactFileDescriptor, com.buschmais.xo.api.CompositeObject, com.buschmais.jqassistant.core.store.api.model.Descriptor, com.buschmais.jqassistant.plugin.common.api.model.FileContainerDescriptor, com.buschmais.jqassistant.plugin.common.api.model.FileDescriptor, com.buschmais.jqassistant.plugin.common.api.model.FileNameDescriptor, com.buschmais.jqassistant.core.store.api.model.FullQualifiedNameDescriptor, JavaDescriptor, com.buschmais.jqassistant.plugin.common.api.model.NamedDescriptor
    All Known Subinterfaces:
    JarArchiveDescriptor, JavaClassesDirectoryDescriptor

    public interface JavaArtifactFileDescriptor
    extends JavaDescriptor, com.buschmais.jqassistant.plugin.common.api.model.ArtifactFileDescriptor, com.buschmais.jqassistant.plugin.common.api.model.FileContainerDescriptor
    Defines a Java artifact.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      long getNumberOfDependencies()
      Determine the number of dependencies of this artifact.
      TypeDescriptor resolveRequiredType​(java.lang.String fqn)
      Resolves a required type with a given name from a dependency (direct or transitive).
      • Methods inherited from interface com.buschmais.jqassistant.plugin.common.api.model.ArtifactDescriptor

        addDependency, getClassifier, getDependencies, getDependents, getGroup, getName, getType, getVersion, setClassifier, setGroup, setName, setType, setVersion
      • Methods inherited from interface com.buschmais.xo.api.CompositeObject

        as, getDelegate, getId
      • Methods inherited from interface com.buschmais.jqassistant.plugin.common.api.model.FileContainerDescriptor

        getContains, getRequires
      • Methods inherited from interface com.buschmais.jqassistant.plugin.common.api.model.FileDescriptor

        getParents
      • Methods inherited from interface com.buschmais.jqassistant.plugin.common.api.model.FileNameDescriptor

        getFileName, setFileName
      • Methods inherited from interface com.buschmais.jqassistant.core.store.api.model.FullQualifiedNameDescriptor

        getFullQualifiedName, setFullQualifiedName
    • Method Detail

      • getNumberOfDependencies

        @Cypher("MATCH (artifact:Artifact)-[d:DEPENDS_ON]->(:Artifact) WHERE id(artifact)=$this RETURN count(d)")
        long getNumberOfDependencies()
        Determine the number of dependencies of this artifact.
        Returns:
        The number of dependencies.
      • resolveRequiredType

        @Cypher("MATCH\n  (dependency:Artifact)-[:CONTAINS|REQUIRES]->(type:Type)\nWHERE\n  type.fqn=$fqn\nWITH\n  dependency, type\nMATCH\n  shortestPath((artifact)-[:DEPENDS_ON*]->(dependency))\nWHERE\n  id(artifact)=$this\nRETURN\n  type\nLIMIT 1")
        TypeDescriptor resolveRequiredType​(java.lang.String fqn)
        Resolves a required type with a given name from a dependency (direct or transitive).
        Parameters:
        fqn - The fully qualified name.
        Returns:
        The type.