OSDN Git Service

JDK1.7対応
authorolyutorskii <olyutorskii@users.osdn.me>
Sat, 16 Jul 2016 12:30:17 +0000 (21:30 +0900)
committerolyutorskii <olyutorskii@users.osdn.me>
Sat, 16 Jul 2016 12:30:17 +0000 (21:30 +0900)
19 files changed:
CHANGELOG.txt
README.txt
pom.xml
src/main/java/jp/sourceforge/jovsonz/JsArray.java
src/main/java/jp/sourceforge/jovsonz/JsObject.java
src/main/java/jp/sourceforge/jovsonz/Json.java
src/main/java/jp/sourceforge/jovsonz/JsonAppender.java
src/main/java/jp/sourceforge/jovsonz/JsonSource.java
src/main/java/jp/sourceforge/jovsonz/UnmodIterator.java
src/main/java/jp/sourceforge/jovsonz/ValueVisitor.java
src/test/java/jp/sourceforge/jovsonz/JsArrayTest.java
src/test/java/jp/sourceforge/jovsonz/JsBooleanTest.java
src/test/java/jp/sourceforge/jovsonz/JsNullTest.java
src/test/java/jp/sourceforge/jovsonz/JsNumberTest.java
src/test/java/jp/sourceforge/jovsonz/JsObjectTest.java
src/test/java/jp/sourceforge/jovsonz/JsStringTest.java
src/test/java/jp/sourceforge/jovsonz/JsonAppenderTest.java
src/test/java/jp/sourceforge/jovsonz/JsonTest.java
src/test/java/jp/sourceforge/jovsonz/UnmodIteratorTest.java

index 414db86..ebf54dc 100644 (file)
@@ -6,6 +6,7 @@ Jovsonz 変更履歴
 
 X.XXX.X (20XX-XX-XX)
     ・Maven3対応。
+    ・JDK1.7が必須となる。
 
 1.101.2 (2011-05-13)
     ・初回リリース。
index f03a1f1..d84afcb 100644 (file)
@@ -16,9 +16,9 @@ JovsonzはJindolfプロジェクトから派生したオープンソースプロ
 
 === 実行環境 ===
 
- - JovsonzはJava言語(JLS3)で記述されたプログラムです。
- - JovsonzはJRE1.5に準拠したJava実行環境で利用できるように作られています。
-   原則として、JRE1.5に準拠した実行系であれば、プラットフォームを選びません。
+ - JovsonzはJava言語(JavaSE7)で記述されたプログラムです。
+ - JovsonzはJRE1.7に準拠したJava実行環境で利用できるように作られています。
+   原則として、JRE1.7に準拠した実行系であれば、プラットフォームを選びません。
 
 
 === 開発プロジェクト運営元 ===
diff --git a/pom.xml b/pom.xml
index b534918..c0ad319 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -80,8 +80,8 @@
     <properties>
         <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
 
-        <maven.compiler.source>1.5</maven.compiler.source>
-        <maven.compiler.target>1.5</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
 
         <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation>
         <maven.compiler.showWarnings>true</maven.compiler.showWarnings>
                             <version>[2.2,)</version>
                         </requireMavenVersion>
                         <requireJavaVersion>
-                            <version>[1.5,)</version>
+                            <version>[1.7,)</version>
                         </requireJavaVersion>
                     </rules>
                 </configuration>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.0</version>
                 <configuration>
-                    <source>1.5</source>  <!-- for NetBeans IDE -->
-                    <target>1.5</target>
+                    <source>1.7</source>  <!-- for NetBeans IDE -->
+                    <target>1.7</target>
                     <showDeprecation>true</showDeprecation>
                     <showWarnings>true</showWarnings>
                     <compilerArguments>
index df80a51..84802f5 100644 (file)
@@ -32,7 +32,7 @@ public class JsArray
     private static final String ERRMSG_NOELEM =
             "missing element in ARRAY";
 
-    private final List<JsValue> valueList = new LinkedList<JsValue>();
+    private final List<JsValue> valueList = new LinkedList<>();
     private boolean changed = false;
 
     /**
@@ -112,7 +112,7 @@ public class JsArray
 
         for(JsValue value : this.valueList){
             if( ! (value instanceof JsComposition) ) continue;
-            JsComposition composition = (JsComposition) value;
+            JsComposition<?> composition = (JsComposition) value;
             if(composition.hasChanged()) return true;
         }
 
@@ -128,7 +128,7 @@ public class JsArray
 
         for(JsValue value : this.valueList){
             if( ! (value instanceof JsComposition) ) continue;
-            JsComposition composition = (JsComposition) value;
+            JsComposition<?> composition = (JsComposition) value;
             composition.setUnchanged();
         }
 
@@ -282,6 +282,7 @@ public class JsArray
      * @return 反復子イテレータ
      * @see UnmodIterator
      */
+    @Override
     public Iterator<JsValue> iterator(){
         return UnmodIterator.unmodIterator(this.valueList);
     }
index 49cd49a..c5ad78a 100644 (file)
@@ -41,7 +41,7 @@ public class JsObject
             "no hash value in OBJECT";
 
     private final Map<String, JsPair> pairMap =
-            new TreeMap<String, JsPair>();
+            new TreeMap<>();
     private final Collection<JsPair> pairCollection = this.pairMap.values();
 
     private boolean changed = false;
@@ -139,7 +139,7 @@ public class JsObject
         for(JsPair pair : this){
             JsValue value = pair.getValue();
             if( ! (value instanceof JsComposition) ) continue;
-            JsComposition composition = (JsComposition) value;
+            JsComposition<?> composition = (JsComposition) value;
             if(composition.hasChanged()) return true;
         }
 
@@ -156,7 +156,7 @@ public class JsObject
         for(JsPair pair : this){
             JsValue value = pair.getValue();
             if( ! (value instanceof JsComposition) ) continue;
-            JsComposition composition = (JsComposition) value;
+            JsComposition<?> composition = (JsComposition) value;
             composition.setUnchanged();
         }
 
@@ -329,7 +329,7 @@ public class JsObject
      * @return PAIRリスト
      */
     public List<JsPair> getPairList(){
-        List<JsPair> result = new ArrayList<JsPair>(this.pairMap.size());
+        List<JsPair> result = new ArrayList<>(this.pairMap.size());
 
         for(JsPair pair : this){
             result.add(pair);
@@ -344,6 +344,7 @@ public class JsObject
      * PAIR出現順序は未定義。
      * @return 反復子イテレータ
      */
+    @Override
     public Iterator<JsPair> iterator(){
         return UnmodIterator.unmodIterator(this.pairCollection);
     }
index b946308..e408c03 100644 (file)
@@ -35,7 +35,7 @@ public final class Json {
      * @throws JsVisitException 何らかの理由で処理中断
      * @throws IOException 出力エラー
      */
-    public static void dumpJson(Appendable appout, JsComposition topValue)
+    public static void dumpJson(Appendable appout, JsComposition<?> topValue)
             throws NullPointerException,
                    JsVisitException,
                    IOException {
@@ -97,7 +97,7 @@ public final class Json {
      * @throws IOException 入力エラー
      * @throws JsParseException パースエラー
      */
-    private static JsComposition parseJson(JsonSource source)
+    private static JsComposition<?> parseJson(JsonSource source)
             throws IOException, JsParseException{
         JsValue topValue = parseValue(source);
         if(topValue == null) return null;
@@ -106,7 +106,7 @@ public final class Json {
             throw new JsParseException(JsParseException.ERRMSG_INVALIDROOT,
                                        source.getLineNumber() );
         }
-        JsComposition result = (JsComposition) topValue;
+        JsComposition<?> result = (JsComposition) topValue;
 
         return result;
     }
@@ -119,7 +119,7 @@ public final class Json {
      * @throws IOException 入力エラー
      * @throws JsParseException パースエラー
      */
-    public static JsComposition parseJson(Reader source)
+    public static JsComposition<?> parseJson(Reader source)
             throws IOException, JsParseException{
         JsonSource jsonSource = new JsonSource(source);
         return parseJson(jsonSource);
index cbba7ad..3dc56cd 100644 (file)
@@ -44,7 +44,7 @@ class JsonAppender implements ValueVisitor {
     private final Appendable appout;
 
     private final Stack<DumpContext> contextStack =
-            new Stack<DumpContext>();
+            new Stack<>();
 
     private IOException ioException = null;
 
@@ -66,7 +66,7 @@ class JsonAppender implements ValueVisitor {
      * コンテキストをプッシュ退避する。
      * @param composition 現在のコンテキスト
      */
-    protected void pushComposition(JsComposition composition){
+    protected void pushComposition(JsComposition<?> composition){
         DumpContext context = new DumpContext(composition);
         this.contextStack.push(context);
         return;
@@ -77,9 +77,9 @@ class JsonAppender implements ValueVisitor {
      * @return スタックトップのコンテキスト
      * @throws EmptyStackException スタック構造が空
      */
-    protected JsComposition popComposition() throws EmptyStackException{
+    protected JsComposition<?> popComposition() throws EmptyStackException{
         DumpContext context = this.contextStack.pop();
-        JsComposition composition = context.getComposition();
+        JsComposition<?> composition = context.getComposition();
         return composition;
     }
 
@@ -126,7 +126,7 @@ class JsonAppender implements ValueVisitor {
         if(isNestEmpty()) return false;
 
         DumpContext context = this.contextStack.peek();
-        JsComposition composition = context.getComposition();
+        JsComposition<?> composition = context.getComposition();
         JsTypes type = composition.getJsTypes();
         if(type != JsTypes.ARRAY) return false;
 
@@ -338,7 +338,7 @@ class JsonAppender implements ValueVisitor {
 
         if(type.isComposition()){
             assert value instanceof JsComposition;
-            JsComposition composition = (JsComposition) value;
+            JsComposition<?> composition = (JsComposition) value;
             pushComposition(composition);
         }
 
@@ -372,10 +372,10 @@ class JsonAppender implements ValueVisitor {
      * @throws JsVisitException {@inheritDoc}
      */
     @Override
-    public void visitCompositionClose(JsComposition closed)
+    public void visitCompositionClose(JsComposition<?> closed)
             throws JsVisitException{
         boolean hasDumped = hasChildDumped();
-        JsComposition composition = popComposition();
+        JsComposition<?> composition = popComposition();
 
         if(hasDumped) putAfterLastElement();
         else          putEmptyElement();
@@ -400,7 +400,7 @@ class JsonAppender implements ValueVisitor {
      * ネストされた各JSON集約型コンテキストの出力状況。
      */
     private static class DumpContext{
-        private final JsComposition composition;
+        private final JsComposition<?> composition;
         private boolean childDumped;
 
         /**
@@ -408,7 +408,7 @@ class JsonAppender implements ValueVisitor {
          * 子要素が出力された事実は無い状態で始まる。
          * @param composition レベルに対応するOBJECTもしくはARRAY型Value
          */
-        DumpContext(JsComposition composition){
+        DumpContext(JsComposition<?> composition){
             this.composition = composition;
             this.childDumped = false;
             return;
@@ -418,7 +418,7 @@ class JsonAppender implements ValueVisitor {
          * このレベルに対応するJSON集約型を返す。
          * @return OBJECTもしくはARRAY型Value
          */
-        JsComposition getComposition(){
+        JsComposition<?> getComposition(){
             return this.composition;
         }
 
index 1cb3566..758c007 100644 (file)
@@ -236,6 +236,7 @@ class JsonSource implements Closeable {
      * @throws IOException 入出力エラー
      * @see java.io.Closeable
      */
+    @Override
     public void close() throws IOException{
         this.closed = true;
         this.stackPt = 0;
index 2d42f95..db27e1c 100644 (file)
@@ -41,7 +41,7 @@ public class UnmodIterator<E> implements Iterator<E> {
     public static <E> Iterator<E> wrapUnmod(Iterator<E> iterator)
             throws NullPointerException{
         if(iterator == null) throw new NullPointerException();
-        return new UnmodIterator<E>(iterator);
+        return new UnmodIterator<>(iterator);
     }
 
     /**
@@ -56,9 +56,10 @@ public class UnmodIterator<E> implements Iterator<E> {
         if(iterable == null) throw new NullPointerException();
         final Iterable<E> innerArg = iterable;
         return new Iterable<E>(){
+            @Override
             public Iterator<E> iterator(){
                 Iterator<E> iterator = innerArg.iterator();
-                return new UnmodIterator<E>(iterator);
+                return new UnmodIterator<>(iterator);
             }
         };
     }
@@ -74,7 +75,7 @@ public class UnmodIterator<E> implements Iterator<E> {
             throws NullPointerException{
         if(iterable == null) throw new NullPointerException();
         Iterator<E> iterator = iterable.iterator();
-        return new UnmodIterator<E>(iterator);
+        return new UnmodIterator<>(iterator);
     }
 
     /**
index 99ba49a..e04c0ad 100644 (file)
@@ -36,7 +36,7 @@ public interface ValueVisitor {
      * @throws JsVisitException ビジターがトラバース中止を判断した際に
      * 投げられる。
      */
-    void visitCompositionClose(JsComposition composition)
+    void visitCompositionClose(JsComposition<?> composition)
             throws JsVisitException;
 
 }
index 1e0d699..b4de106 100644 (file)
@@ -419,7 +419,7 @@ public class JsArrayTest {
                     return;
                 }
 
-                public void visitCompositionClose(JsComposition composite)
+                public void visitCompositionClose(JsComposition<?> composite)
                         throws JsVisitException{
                     visited.add(composite);
                     return;
index cb79535..3c55736 100644 (file)
@@ -61,7 +61,7 @@ public class JsBooleanTest {
                     throw new JsVisitException();
                 }
 
-                public void visitCompositionClose(JsComposition composite)
+                public void visitCompositionClose(JsComposition<?> composite)
                         throws JsVisitException{
                     throw new JsVisitException();
                 }
@@ -85,7 +85,7 @@ public class JsBooleanTest {
                     throw new JsVisitException();
                 }
 
-                public void visitCompositionClose(JsComposition composite)
+                public void visitCompositionClose(JsComposition<?> composite)
                         throws JsVisitException{
                     throw new JsVisitException();
                 }
index f3ecc4a..a74a8c8 100644 (file)
@@ -69,7 +69,7 @@ public class JsNullTest {
                     throw new JsVisitException();
                 }
 
-                public void visitCompositionClose(JsComposition composite)
+                public void visitCompositionClose(JsComposition<?> composite)
                         throws JsVisitException{
                     throw new JsVisitException();
                 }
index 29a84df..1836cb5 100644 (file)
@@ -254,7 +254,7 @@ public class JsNumberTest {
                     throw new JsVisitException();
                 }
 
-                public void visitCompositionClose(JsComposition composite)
+                public void visitCompositionClose(JsComposition<?> composite)
                         throws JsVisitException{
                     throw new JsVisitException();
                 }
index 1a2cdfc..cc56c27 100644 (file)
@@ -474,7 +474,7 @@ public class JsObjectTest {
                     return;
                 }
 
-                public void visitCompositionClose(JsComposition composite)
+                public void visitCompositionClose(JsComposition<?> composite)
                         throws JsVisitException{
                     visited.add(composite);
                     return;
index 428a76b..d2d0c96 100644 (file)
@@ -314,7 +314,7 @@ public class JsStringTest {
                     throw new JsVisitException();
                 }
 
-                public void visitCompositionClose(JsComposition composite)
+                public void visitCompositionClose(JsComposition<?> composite)
                         throws JsVisitException{
                     throw new JsVisitException();
                 }
index bcff8ea..b6eed34 100644 (file)
@@ -156,7 +156,7 @@ public class JsonAppenderTest {
         System.out.println("getIOException");
 
         Reader reader = new StringReader("[1,2,3,4,5]");
-        JsComposition root = Json.parseJson(reader);
+        JsComposition<?> root = Json.parseJson(reader);
 
         Appendable app = new TroubleAppender(3);
         JsonAppender appender = new JsonAppender(app);
index a6a8735..b8fba7b 100644 (file)
@@ -52,7 +52,7 @@ public class JsonTest {
         String HASHSEP = "\u0020:\u0020";
 
         Reader reader;
-        JsComposition root;
+        JsComposition<?> root;
         StringBuilder dump = new StringBuilder();
 
         reader = new StringReader("{}");
@@ -271,7 +271,7 @@ public class JsonTest {
         System.out.println("parseJson");
 
         Reader reader;
-        JsComposition root;
+        JsComposition<?> root;
 
         reader = new StringReader("{}");
         root = Json.parseJson(reader);
index e0b1848..6693278 100644 (file)
@@ -41,7 +41,7 @@ public class UnmodIteratorTest {
     public void tearDown() {
     }
 
-    private void assert3ListAndIterator(List list, Iterator unmod){
+    private void assert3ListAndIterator(List<?> list, Iterator<?> unmod){
         assertEquals(3, list.size());
 
         assertTrue(unmod.hasNext());