Constructor and Description |
---|
Vertex() |
Modifier and Type | Method and Description |
---|---|
<L extends Link> |
addLink(long vertexID,
java.lang.Class<L> clazz)
addLink(long, Class, Consumer) without a data injector so no initial function is
run for links. |
<L extends Link> |
addLink(long vertexID,
java.lang.Class<L> clazz,
java.util.function.Consumer<L> dataInjector)
Create a new link from this vertex to the target vertexID, with the given associated data.
|
<L extends Link> |
addLinks(java.util.Collection<java.lang.Long> vertexIDs,
java.lang.Class<L> clazz)
addLinks(Collection, Class) without a data injector so no initial function is
run for links. |
<L extends Link> |
addLinks(java.util.Collection<java.lang.Long> vertexIDs,
java.lang.Class<L> clazz,
java.util.function.Consumer<L> dataInjector)
Create a new link from this vertex to a group of target vertexIDs, with the given associated
data.
|
void |
dispose() |
long |
getID() |
java.util.List<? extends Link> |
getLinks()
Get all of the vertex's links.
|
<L extends Link> |
getLinks(java.lang.Class<L> clazz)
Get the vertex's links of the given type.
|
FilteredLinks<? extends Link> |
getLinksTo(long targetID)
Get the vertex's links to the given target ID.
|
<L extends Link> |
getLinksTo(long targetID,
java.lang.Class<L> clazz)
Get the vertex's links of specified class to the given target ID.
|
SeededRandom |
getPrng() |
boolean |
hasLinks() |
boolean |
hasLinks(java.lang.Class<? extends Link> clazz) |
boolean |
hasLinksTo(long targetID) |
boolean |
hasLinksTo(long targetID,
java.lang.Class<? extends Link> clazz) |
void |
removeLinks()
Removes all the vertex's links.
|
void |
removeLinks(java.lang.Class<? extends Link> clazz)
Removes all vertex's links of a given type.
|
void |
removeLinksTo(long targetID)
Removes the vertex's links to a certain target ID.
|
void |
removeLinksTo(long targetID,
java.lang.Class<? extends Link> clazz)
Removes the vertex's links to a certain targetID of a given type.
|
abstract void |
step(Environment<SER> environment) |
public abstract void step(Environment<SER> environment)
public long getID()
public SeededRandom getPrng()
public java.util.List<? extends Link> getLinks()
Note that without a specific link class, data for the link will not be accessible.
public <L extends Link> FilteredLinks<L> getLinks(java.lang.Class<L> clazz)
public FilteredLinks<? extends Link> getLinksTo(long targetID)
getLinksTo
in interface LinksApi
targetID
- The target vertex ID.Link
s to the given targetpublic <L extends Link> FilteredLinks<L> getLinksTo(long targetID, java.lang.Class<L> clazz)
getLinksTo
in interface LinksApi
targetID
- The target vertex ID.clazz
- The link data classLink
s to the given targetpublic boolean hasLinks()
Link
s to other vertices.public boolean hasLinks(java.lang.Class<? extends Link> clazz)
public boolean hasLinksTo(long targetID)
hasLinksTo
in interface LinksApi
targetID
- The target vertex ID.Link
s to vertex with given targetID.public boolean hasLinksTo(long targetID, java.lang.Class<? extends Link> clazz)
hasLinksTo
in interface LinksApi
targetID
- The target vertex ID.clazz
- The link data classLink
s of specified class to vertex with given targetID.public void removeLinks()
removeLinks
in interface LinksApi
public void removeLinks(java.lang.Class<? extends Link> clazz)
removeLinks
in interface LinksApi
clazz
- The link data class.public void removeLinksTo(long targetID)
removeLinksTo
in interface LinksApi
targetID
- ID of the vertex you want to remove the link to.public void removeLinksTo(long targetID, java.lang.Class<? extends Link> clazz)
removeLinksTo
in interface LinksApi
targetID
- ID of the vertex you want to remove the link to.clazz
- The link data class.public <L extends Link> L addLink(long vertexID, java.lang.Class<L> clazz)
addLink(long, Class, Consumer)
without a data injector so no initial function is
run for links.public <L extends Link> L addLink(long vertexID, java.lang.Class<L> clazz, java.util.function.Consumer<L> dataInjector)
public <L extends Link> java.util.List<L> addLinks(java.util.Collection<java.lang.Long> vertexIDs, java.lang.Class<L> clazz)
addLinks(Collection, Class)
without a data injector so no initial function is
run for links.public <L extends Link> java.util.List<L> addLinks(java.util.Collection<java.lang.Long> vertexIDs, java.lang.Class<L> clazz, java.util.function.Consumer<L> dataInjector)
public void dispose()