Hiding initBindings from public signature osgi
authorJaroslav Tulach <jaroslav.tulach@netbeans.org>
Sun, 05 Jan 2014 22:26:35 +0100
branchosgi
changeset 404d4ae03d8a065
parent 403 3a04f7355e4f
child 405 e57f5252f469
Hiding initBindings from public signature
json/src/main/java/org/apidesign/html/json/spi/PropertyBinding.java
json/src/main/java/org/apidesign/html/json/spi/Proto.java
json/src/main/java/org/netbeans/html/json/impl/JSONList.java
json/src/main/java/org/netbeans/html/json/impl/PropertyBindingAccessor.java
json/src/main/java/org/netbeans/html/json/impl/WrapperObject.java
     1.1 --- a/json/src/main/java/org/apidesign/html/json/spi/PropertyBinding.java	Sun Jan 05 22:08:25 2014 +0100
     1.2 +++ b/json/src/main/java/org/apidesign/html/json/spi/PropertyBinding.java	Sun Jan 05 22:26:35 2014 +0100
     1.3 @@ -43,6 +43,7 @@
     1.4  package org.apidesign.html.json.spi;
     1.5  
     1.6  import net.java.html.BrwsrCtx;
     1.7 +import org.netbeans.html.json.impl.Bindings;
     1.8  import org.netbeans.html.json.impl.PropertyBindingAccessor;
     1.9  import org.netbeans.html.json.impl.PropertyBindingAccessor.PBData;
    1.10  import org.netbeans.html.json.impl.RcvrJSON;
    1.11 @@ -71,6 +72,11 @@
    1.12              protected JSONCall newCall(BrwsrCtx ctx, RcvrJSON callback, String urlBefore, String urlAfter, String method, Object data) {
    1.13                  return new JSONCall(ctx, callback, urlBefore, urlAfter, method, data);
    1.14              }
    1.15 +
    1.16 +            @Override
    1.17 +            protected Bindings bindings(Proto proto, boolean initialize) {
    1.18 +                return initialize ? proto.initBindings() : proto.getBindings();
    1.19 +            }
    1.20          };
    1.21      }
    1.22  
     2.1 --- a/json/src/main/java/org/apidesign/html/json/spi/Proto.java	Sun Jan 05 22:08:25 2014 +0100
     2.2 +++ b/json/src/main/java/org/apidesign/html/json/spi/Proto.java	Sun Jan 05 22:26:35 2014 +0100
     2.3 @@ -182,8 +182,7 @@
     2.4          return JSON.read(context, modelClass, data);
     2.5      }
     2.6      
     2.7 -    // XXX: Don't expose internal type
     2.8 -    public Bindings initBindings() {
     2.9 +    final Bindings initBindings() {
    2.10          if (ko == null) {
    2.11              Bindings b = Bindings.apply(context, obj);
    2.12              PropertyBinding[] pb = new PropertyBinding[type.propertyNames.length];
     3.1 --- a/json/src/main/java/org/netbeans/html/json/impl/JSONList.java	Sun Jan 05 22:08:25 2014 +0100
     3.2 +++ b/json/src/main/java/org/netbeans/html/json/impl/JSONList.java	Sun Jan 05 22:26:35 2014 +0100
     3.3 @@ -203,6 +203,6 @@
     3.4      }
     3.5  
     3.6      final Object koData() {
     3.7 -        return koData(this, proto.initBindings());
     3.8 +        return koData(this, PropertyBindingAccessor.getBindings(proto, true));
     3.9      }
    3.10  }
     4.1 --- a/json/src/main/java/org/netbeans/html/json/impl/PropertyBindingAccessor.java	Sun Jan 05 22:08:25 2014 +0100
     4.2 +++ b/json/src/main/java/org/netbeans/html/json/impl/PropertyBindingAccessor.java	Sun Jan 05 22:26:35 2014 +0100
     4.3 @@ -69,7 +69,12 @@
     4.4          BrwsrCtx ctx, RcvrJSON callback, String urlBefore, String urlAfter,
     4.5          String method, Object data
     4.6      );
     4.7 -
     4.8 +    
     4.9 +    protected abstract Bindings bindings(Proto proto, boolean initialize);
    4.10 +    
    4.11 +    static Bindings getBindings(Proto proto, boolean initialize) {
    4.12 +        return DEFAULT.bindings(proto, initialize);
    4.13 +    }
    4.14      
    4.15      static <M> PropertyBinding create(PBData<M> d) {
    4.16          return DEFAULT.newBinding(d);
     5.1 --- a/json/src/main/java/org/netbeans/html/json/impl/WrapperObject.java	Sun Jan 05 22:08:25 2014 +0100
     5.2 +++ b/json/src/main/java/org/netbeans/html/json/impl/WrapperObject.java	Sun Jan 05 22:26:35 2014 +0100
     5.3 @@ -77,7 +77,7 @@
     5.4          if (proto == null) {
     5.5              return null;
     5.6          }
     5.7 -        final Bindings b = proto.initBindings();
     5.8 +        final Bindings b = PropertyBindingAccessor.getBindings(proto, true);
     5.9          return b == null ? null : b.koData();
    5.10      }
    5.11  }