diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2020-12-07 15:52:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-07 15:52:52 +0100 |
commit | f561afbb3620b796d7321cde8c11d75a6bc6b2cf (patch) | |
tree | 69b7afbf913d23cb65909065b092d7e77e70a837 /component/src | |
parent | 339996348953bc9661c9cef12af7e944f9f66bc8 (diff) |
Revert "Revert "Always deconstruct in reverse creation order, including Provider objects""
Diffstat (limited to 'component/src')
-rw-r--r-- | component/src/main/java/com/yahoo/component/AbstractComponent.java | 3 | ||||
-rw-r--r-- | component/src/main/java/com/yahoo/component/Deconstructable.java | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/component/src/main/java/com/yahoo/component/AbstractComponent.java b/component/src/main/java/com/yahoo/component/AbstractComponent.java index fcaa1e62d56..18a19f3e238 100644 --- a/component/src/main/java/com/yahoo/component/AbstractComponent.java +++ b/component/src/main/java/com/yahoo/component/AbstractComponent.java @@ -11,7 +11,7 @@ import java.lang.reflect.Method; * * @author bratseth */ -public class AbstractComponent implements Component { +public class AbstractComponent implements Component, Deconstructable { private static final MethodCache deconstructMethods = new MethodCache("deconstruct"); @@ -129,6 +129,7 @@ public class AbstractComponent implements Component { * <p> * This default implementation does nothing. */ + @Override public void deconstruct() { } /** diff --git a/component/src/main/java/com/yahoo/component/Deconstructable.java b/component/src/main/java/com/yahoo/component/Deconstructable.java new file mode 100644 index 00000000000..4da39cd3420 --- /dev/null +++ b/component/src/main/java/com/yahoo/component/Deconstructable.java @@ -0,0 +1,13 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.component; + +/** + * A component in the component graph that should be deconstructed, to release resources. + * + * @author jonmv + */ +public interface Deconstructable { + + void deconstruct(); + +} |