Package com.xebialabs.xlrelease.utils

## Class Graph<A>

- java.lang.Object
- - com.xebialabs.xlrelease.utils.Graph<A>

- All Implemented Interfaces:
    `java.io.Serializable`, `scala.Equals`, `scala.Product`

      public class Graph<A>
      extends java.lang.Object
      implements scala.Product, java.io.Serializable

  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `Graph.DFS<A,​B>` |
    `static class` | `Graph.DFS$` |
    `static class` | `Graph.Edge<A>` |
    `static class` | `Graph.Edge$` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Graph​(scala.collection.immutable.Set<Graph.Edge<A>> edges)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <A> Graph<A>` | `apply​(scala.collection.immutable.Set<Graph.Edge<A>> edges)` |
    `static <A> Graph<A>` | `apply​(scala.collection.Iterable<Graph.Edge<A>> edges)` |
    `boolean` | `canEqual​(java.lang.Object x$1)` |
    `<A> Graph<A>` | `copy​(scala.collection.immutable.Set<Graph.Edge<A>> edges)` |
    `<A> scala.collection.immutable.Set<Graph.Edge<A>>` | `copy$default$1()` |
    `protected static void` | `debug​(org.slf4j.Marker mkr, scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |
    `protected static void` | `debug​(scala.Function0<java.lang.Object> msg)` |
    `protected static void` | `debug​(scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |
    `scala.collection.immutable.Set<Graph.Edge<A>>` | `edges()` |
    `boolean` | `equals​(java.lang.Object x$1)` |
    `protected static void` | `error​(org.slf4j.Marker mkr, scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |
    `protected static void` | `error​(scala.Function0<java.lang.Object> msg)` |
    `protected static void` | `error​(scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |
    `static grizzled.slf4j.Logger` | `grizzled$slf4j$Logging$$_logger()` |
    `boolean` | `hasCycle()` |
    `int` | `hashCode()` |
    `scala.collection.immutable.Set<A>` | `incoming​(A a)` |
    `protected static void` | `info​(org.slf4j.Marker mkr, scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |
    `protected static void` | `info​(scala.Function0<java.lang.Object> msg)` |
    `protected static void` | `info​(scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |
    `protected static boolean` | `isDebugEnabled()` |
    `protected static boolean` | `isErrorEnabled()` |
    `protected static boolean` | `isInfoEnabled()` |
    `protected static boolean` | `isTraceEnabled()` |
    `protected static boolean` | `isWarnEnabled()` |
    `protected static grizzled.slf4j.Logger` | `logger()` |
    `protected static java.lang.String` | `loggerName()` |
    `scala.collection.immutable.Set<A>` | `nodes()` |
    `scala.collection.immutable.List<A>` | `order()` |
    `scala.collection.immutable.Set<A>` | `outgoing​(A a)` |
    `int` | `productArity()` |
    `java.lang.Object` | `productElement​(int x$1)` |
    `java.lang.String` | `productElementName​(int x$1)` |
    `scala.collection.Iterator<java.lang.Object>` | `productIterator()` |
    `java.lang.String` | `productPrefix()` |
    `static <A> scala.util.Either<Graph.DFS<A,​scala.runtime.BoxedUnit>,​scala.collection.immutable.List<A>>` | `sort​(Graph<A> graph)` |
    `java.lang.String` | `toString()` |
    `protected static void` | `trace​(org.slf4j.Marker mkr, scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |
    `protected static void` | `trace​(scala.Function0<java.lang.Object> msg)` |
    `protected static void` | `trace​(scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |
    `static <A> scala.Option<scala.collection.immutable.Set<Graph.Edge<A>>>` | `unapply​(Graph<A> x$0)` |
    `static <A,​B> Graph.DFS<A,​B>` | `walk​(Graph<A> graph, B z, scala.Function2<Graph.DFS<A,​B>,​A,​B> f)` |
    `protected static void` | `warn​(org.slf4j.Marker mkr, scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |
    `protected static void` | `warn​(scala.Function0<java.lang.Object> msg)` |
    `protected static void` | `warn​(scala.Function0<java.lang.Object> msg, scala.Function0<java.lang.Throwable> t)` |

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface scala.Product

      `productElementNames`

- - ### Constructor Detail

    - #### Graph

          public Graph​(scala.collection.immutable.Set<Graph.Edge<A>> edges)

  - ### Method Detail

    - #### apply

          public static <A> Graph<A> apply​(scala.collection.Iterable<Graph.Edge<A>> edges)

    - #### sort

          public static <A> scala.util.Either<Graph.DFS<A,​scala.runtime.BoxedUnit>,​scala.collection.immutable.List<A>> sort​(Graph<A> graph)

    - #### walk

          public static <A,​B> Graph.DFS<A,​B> walk​(Graph<A> graph,
                                                              B z,
                                                              scala.Function2<Graph.DFS<A,​B>,​A,​B> f)

    - #### apply

          public static <A> Graph<A> apply​(scala.collection.immutable.Set<Graph.Edge<A>> edges)

    - #### unapply

          public static <A> scala.Option<scala.collection.immutable.Set<Graph.Edge<A>>> unapply​(Graph<A> x$0)

    - #### grizzled$slf4j$Logging$$_logger

          public static grizzled.slf4j.Logger grizzled$slf4j$Logging$$_logger()

    - #### logger

          protected static grizzled.slf4j.Logger logger()

    - #### loggerName

          protected static java.lang.String loggerName()

    - #### isTraceEnabled

          protected static boolean isTraceEnabled()

    - #### trace

          protected static void trace​(scala.Function0<java.lang.Object> msg)

    - #### trace

          protected static void trace​(scala.Function0<java.lang.Object> msg,
                                      scala.Function0<java.lang.Throwable> t)

    - #### trace

          protected static void trace​(org.slf4j.Marker mkr,
                                      scala.Function0<java.lang.Object> msg,
                                      scala.Function0<java.lang.Throwable> t)

    - #### isDebugEnabled

          protected static boolean isDebugEnabled()

    - #### debug

          protected static void debug​(scala.Function0<java.lang.Object> msg)

    - #### debug

          protected static void debug​(scala.Function0<java.lang.Object> msg,
                                      scala.Function0<java.lang.Throwable> t)

    - #### debug

          protected static void debug​(org.slf4j.Marker mkr,
                                      scala.Function0<java.lang.Object> msg,
                                      scala.Function0<java.lang.Throwable> t)

    - #### isErrorEnabled

          protected static boolean isErrorEnabled()

    - #### error

          protected static void error​(scala.Function0<java.lang.Object> msg)

    - #### error

          protected static void error​(scala.Function0<java.lang.Object> msg,
                                      scala.Function0<java.lang.Throwable> t)

    - #### error

          protected static void error​(org.slf4j.Marker mkr,
                                      scala.Function0<java.lang.Object> msg,
                                      scala.Function0<java.lang.Throwable> t)

    - #### isInfoEnabled

          protected static boolean isInfoEnabled()

    - #### info

          protected static void info​(scala.Function0<java.lang.Object> msg)

    - #### info

          protected static void info​(scala.Function0<java.lang.Object> msg,
                                     scala.Function0<java.lang.Throwable> t)

    - #### info

          protected static void info​(org.slf4j.Marker mkr,
                                     scala.Function0<java.lang.Object> msg,
                                     scala.Function0<java.lang.Throwable> t)

    - #### isWarnEnabled

          protected static boolean isWarnEnabled()

    - #### warn

          protected static void warn​(scala.Function0<java.lang.Object> msg)

    - #### warn

          protected static void warn​(scala.Function0<java.lang.Object> msg,
                                     scala.Function0<java.lang.Throwable> t)

    - #### warn

          protected static void warn​(org.slf4j.Marker mkr,
                                     scala.Function0<java.lang.Object> msg,
                                     scala.Function0<java.lang.Throwable> t)

    - #### edges

          public scala.collection.immutable.Set<Graph.Edge<A>> edges()

    - #### nodes

          public scala.collection.immutable.Set<A> nodes()

    - #### outgoing

          public scala.collection.immutable.Set<A> outgoing​(A a)

    - #### incoming

          public scala.collection.immutable.Set<A> incoming​(A a)

    - #### order

          public scala.collection.immutable.List<A> order()

    - #### hasCycle

          public boolean hasCycle()

    - #### copy

          public <A> Graph<A> copy​(scala.collection.immutable.Set<Graph.Edge<A>> edges)

    - #### copy$default$1

          public <A> scala.collection.immutable.Set<Graph.Edge<A>> copy$default$1()

    - #### productPrefix

          public java.lang.String productPrefix()

      Specified by:
        `productPrefix` in interface `scala.Product`

    - #### productArity

          public int productArity()

      Specified by:
        `productArity` in interface `scala.Product`

    - #### productElement

          public java.lang.Object productElement​(int x$1)

      Specified by:
        `productElement` in interface `scala.Product`

    - #### productIterator

          public scala.collection.Iterator<java.lang.Object> productIterator()

      Specified by:
        `productIterator` in interface `scala.Product`

    - #### canEqual

          public boolean canEqual​(java.lang.Object x$1)

      Specified by:
        `canEqual` in interface `scala.Equals`

    - #### productElementName

          public java.lang.String productElementName​(int x$1)

      Specified by:
        `productElementName` in interface `scala.Product`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### equals

          public boolean equals​(java.lang.Object x$1)

      Specified by:
        `equals` in interface `scala.Equals`
      Overrides:
        `equals` in class `java.lang.Object`