diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2020-12-08 01:22:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-08 01:22:25 +0100 |
commit | 71b593e14a2ae149af28e78fb76b57f8e7767b19 (patch) | |
tree | 3ba357bce820c97e3129279f7666ecd384ab67b6 /component/src | |
parent | 96cf054bba808ff36e80cf939fadbc358b5ed7aa (diff) |
Revert "Revert "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(); + +} |