json/src/main/java/org/netbeans/html/json/impl/Bindings.java
branchApplyId
changeset 908 ee7a0b3b2d4c
parent 838 bdc3d696dd4a
child 1028 453e44c757ff
     1.1 --- a/json/src/main/java/org/netbeans/html/json/impl/Bindings.java	Tue Aug 26 18:13:30 2014 +0200
     1.2 +++ b/json/src/main/java/org/netbeans/html/json/impl/Bindings.java	Tue Dec 16 21:03:16 2014 +0100
     1.3 @@ -42,6 +42,8 @@
     1.4   */
     1.5  package org.netbeans.html.json.impl;
     1.6  
     1.7 +import java.util.logging.Level;
     1.8 +import java.util.logging.Logger;
     1.9  import net.java.html.BrwsrCtx;
    1.10  import org.netbeans.html.json.spi.FunctionBinding;
    1.11  import org.netbeans.html.json.spi.PropertyBinding;
    1.12 @@ -53,6 +55,8 @@
    1.13   * @author Jaroslav Tulach
    1.14   */
    1.15  public final class Bindings<Data> {
    1.16 +    private static final Logger LOG = Logger.getLogger(Bindings.class.getName()); 
    1.17 +    
    1.18      private Data data;
    1.19      private final Technology<Data> bp;
    1.20  
    1.21 @@ -105,7 +109,18 @@
    1.22          }
    1.23      }
    1.24      
    1.25 -    public void applyBindings() {
    1.26 +    public void applyBindings(String id) {
    1.27 +        if (bp instanceof Technology.ApplyId) {
    1.28 +            Technology.ApplyId<Data> ai = (Technology.ApplyId<Data>) bp;
    1.29 +            ai.applyBindings(id, data);
    1.30 +            return;
    1.31 +        }
    1.32 +        if (id != null) {
    1.33 +            LOG.log(Level.WARNING, 
    1.34 +                "Technology {0} does not implement ApplyId extension. Can't apply to {1}. Applying globally.", 
    1.35 +                new Object[]{bp, id}
    1.36 +            );
    1.37 +        }
    1.38          bp.applyBindings(data);
    1.39      }
    1.40