--- /dev/null
+/*
+ * 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) {
+ }
+ }
+
+}