Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2003-2007 the original author or authors.
   *
   * 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 groovy.xml;
 
 
 import java.util.Map;

A helper class for creating namespaced GroovyMarkup

Author(s):
James Strachan
Paul King
Denver Dino
 
 public class NamespaceBuilderSupport extends BuilderSupport {
     private boolean autoPrefix;
     private Map<StringStringnsMap = new HashMap<StringString>();
     private BuilderSupport builder;
 
     public NamespaceBuilderSupport(BuilderSupport builder) {
         super(builder);
         this. = builder;
     }
 
     public NamespaceBuilderSupport(BuilderSupport builderString uri) {
         this(builderuri"");
     }
 
     public NamespaceBuilderSupport(BuilderSupport builderString uriString prefix) {
         this(builderuriprefixtrue);
     }
 
     public NamespaceBuilderSupport(BuilderSupport builderString uriString prefixboolean autoPrefix) {
         this(builder);
         .put(prefixuri);
         this. = autoPrefix;
     }
 
     public NamespaceBuilderSupport(BuilderSupport builderMap nsMap) {
         this(builder);
         this. = nsMap;
     }
 
     public NamespaceBuilderSupport namespace(String namespaceURI) {
         .put(""namespaceURI);
         return this;
     }
 
     public NamespaceBuilderSupport namespace(String namespaceURIString prefix) {
         .put(prefixnamespaceURI);
         return this;
     }
 
     public NamespaceBuilderSupport declareNamespace(Map nsMap) {
         this. = nsMap;
         return this;
     }
 
     @Override
     protected Object getCurrent() {
         // TODO a better way to do this?
         if ( instanceof NodeBuilder)
             return InvokerHelper.invokeMethod("getCurrent"null);
         else
             return super.getCurrent();
     }
 
     @Override
     protected void setCurrent(Object current) {
         // TODO a better way to do this?
         if ( instanceof NodeBuilder)
             InvokerHelper.invokeMethod("setCurrent"current);
         else
             super.setCurrent(current);
     }
 
     @Override
     protected void setParent(Object parentObject child) {
     }
 
     @Override
     protected Object getName(String methodName) {
        String prefix =  ? .keySet().iterator().next() : "";
        String localPart = methodName;
        int idx = methodName.indexOf(':');
        if (idx > 0 ) {
            prefix = methodName.substring(0, idx);
            localPart = methodName.substring(idx + 1);
        }
        String namespaceURI = .get(prefix);
        if (namespaceURI == null) {
            namespaceURI = "";
            prefix = "";
        }
        return new QName(namespaceURIlocalPartprefix);
    }
    @Override
    protected Object createNode(Object name) {
        return name;
    }
    @Override
    protected Object createNode(Object nameObject value) {
        return name;
    }
    @Override
    protected Object createNode(Object nameMap attributes) {
        return name;
    }
    @Override
    protected Object createNode(Object nameMap attributesObject value) {
        return name;
    }
New to GrepCode? Check out our FAQ X