OSDN Git Service

Merge branch 'release/v1.101.106'
[jovsonz/Jovsonz.git] / src / main / java / jp / sourceforge / jovsonz / JsComposition.java
index e18ec8b..b13c7e9 100644 (file)
@@ -9,44 +9,55 @@ package jp.sourceforge.jovsonz;
 
 /**
  * 子要素を持つJSON型の抽象インタフェース。
- * JSON最上位構造であるための必要条件。
- * 子要素を持ちうるJSON型はOBJECT型かARRAY型のみ。
+ *
+ * <p>JSON最上位構造であるための必要条件。
+ *
+ * <p>子要素を持ちうるJSON型はOBJECT型かARRAY型のみ。
+ *
  * @param <E> 反復子の要素型
  */
 public interface JsComposition<E> extends JsValue, Iterable<E> {
 
     /**
      * 要素数を返す。
+     *
      * <p>OBJECT型の場合は直下のPAIR総数。</p>
+     *
      * <p>ARRAY型の場合は直下の子要素総数。</p>
+     *
      * @return 要素数
      */
-    int size();
+    public abstract int size();
 
     /**
      * 子要素が空か否か判定する。
+     *
      * @return 要素がなければtrue
      */
-    boolean isEmpty();
+    public abstract boolean isEmpty();
 
     /**
      * 子要素を空にする。
      */
-    void clear();
+    public abstract void clear();
 
     /**
      * このValueおよび子孫に変更があったか判定する。
-     * Value生成直後はfalseでなければならない。
-     * ロードしたデータに対し
+     *
+     * <p>Value生成直後はfalseでなければならない。
+     *
+     * <p>ロードしたデータに対し
      * 再セーブの必要があるかどうかの判定などを目的とする。
-     * <p>変更が可能なValueはOBJECT型かARRAY型のみ。</p>
+     *
+     * <p>変更が可能なValueはOBJECT型かARRAY型のみ。
+     *
      * @return 変更があればtrue
      */
-    boolean hasChanged();
+    public abstract boolean hasChanged();
 
     /**
      * このValueおよび子孫に変更がなかったことにする。
      */
-    void setUnchanged();
+    public abstract void setUnchanged();
 
 }