summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/data/lazy/ILazy.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-04-03 19:22:48 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-04-03 19:22:48 -0400
commit1c8bc7132d980c1ff2dbd6b9af579c3b2fd8c63e (patch)
treea29777f07ebd81fbef61b5ae02f13f1a9d8f65a2 /BJC-Utils2/src/main/java/bjc/utils/data/lazy/ILazy.java
parenta023de85aa08c8f2b8b2441c6b14064eabee2775 (diff)
General code refactoring and maintenance
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/lazy/ILazy.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/data/lazy/ILazy.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/lazy/ILazy.java b/BJC-Utils2/src/main/java/bjc/utils/data/lazy/ILazy.java
new file mode 100644
index 0000000..a4fab67
--- /dev/null
+++ b/BJC-Utils2/src/main/java/bjc/utils/data/lazy/ILazy.java
@@ -0,0 +1,35 @@
+package bjc.utils.data.lazy;
+
+/**
+ * Interface for some maintenance operations on lazy objects
+ *
+ * @author ben
+ *
+ */
+public interface ILazy {
+ /**
+ * Check if this object has been materialized
+ *
+ * @return Whether or not this object has been materialized
+ */
+ public boolean isMaterialized();
+
+ /**
+ * Check if there are pending actions that need to be applied
+ *
+ * @return Whether or not there are pending actions
+ */
+ public boolean hasPendingActions();
+
+ /**
+ * Make this object materialize itelf
+ */
+ public void materialize();
+
+ /**
+ * Make this object apply any pending objects
+ *
+ * As a requirement, will materialize the object if it is not materialized
+ */
+ public void applyPendingActions();
+}