[LIB-9] Rename chesshog-dbetude module
[chesshog.git] / chesshog-dbetude / src / main / java / org / hedgecode / chess / domain / EtudeAdapter.java
diff --git a/chesshog-dbetude/src/main/java/org/hedgecode/chess/domain/EtudeAdapter.java b/chesshog-dbetude/src/main/java/org/hedgecode/chess/domain/EtudeAdapter.java
new file mode 100644 (file)
index 0000000..578fe24
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2018. Developed by Hedgecode.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.hedgecode.chess.domain;
+
+import java.math.BigInteger;
+import java.util.Date;
+
+/**
+ *
+ *
+ * @author Dmitry Samoshin aka gotty
+ */
+public interface EtudeAdapter<TargetType> extends Adapter<TargetType> {
+
+    void setId(TargetType target, Long id);
+    void setHash(TargetType target, BigInteger hash);
+    void setName(TargetType target, String name);
+    void setEtudeType(TargetType target, EtudeType etudeType);
+    void setAuthor(TargetType target, Author author);
+    void setAuthorName(TargetType target, String authorName);
+    void setFen(TargetType target, String fen);
+    void setPgn(TargetType target, String pgn);
+    void setBlob(TargetType target, byte[] blob);
+    void setDate(TargetType target, Date date);
+    void setDescription(TargetType target, String description);
+
+    abstract class Empty<TargetType> implements EtudeAdapter<TargetType> {
+
+        @Override
+        public void setId(TargetType target, Long id) {
+        }
+
+        @Override
+        public void setHash(TargetType target, BigInteger hash) {
+        }
+
+        @Override
+        public void setName(TargetType target, String name) {
+        }
+
+        @Override
+        public void setEtudeType(TargetType target, EtudeType etudeType) {
+        }
+
+        @Override
+        public void setAuthor(TargetType target, Author author) {
+        }
+
+        @Override
+        public void setAuthorName(TargetType target, String authorName) {
+        }
+
+        @Override
+        public void setFen(TargetType target, String fen) {
+        }
+
+        @Override
+        public void setPgn(TargetType target, String pgn) {
+        }
+
+        @Override
+        public void setBlob(TargetType target, byte[] blob) {
+        }
+
+        @Override
+        public void setDate(TargetType target, Date date) {
+        }
+
+        @Override
+        public void setDescription(TargetType target, String description) {
+        }
+    }
+
+}