Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2008 Mozilla Foundation
   *
   * Permission is hereby granted, free of charge, to any person obtaining a 
   * copy of this software and associated documentation files (the "Software"), 
   * to deal in the Software without restriction, including without limitation 
   * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
   * and/or sell copies of the Software, and to permit persons to whom the 
   * Software is furnished to do so, subject to the following conditions:
  *
  * The above copyright notice and this permission notice shall be included in 
  * all copies or substantial portions of the Software.
  *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
  * DEALINGS IN THE SOFTWARE.
  */
 
 package nu.validator.xml;
 
 
 public final class PermutingAttributesWrapper implements Attributes {
 
     private final Attributes delegate;
     
     private final int[] permutation;
     
     public PermutingAttributesWrapper(Attributes delegate) {
         this. = delegate;
         this. = new int[delegate.getLength()];
         for (int i = 0; i < .i++) {
             [i] = i;
         }
     }
 
     private int findIndex(int index) {
         if (index < 0) {
             return -1;
         }
         for (int i = 0; i < .i++) {
             if ([i] == index) {
                 return i;
             }
         }
         throw new IllegalArgumentException("Index not in range.");
     }
     
     public void pullUp(String uriString localName) {
         int index = getIndex(urilocalName);
         if (index <= 0) {
             return;
         }
         int temp = [index];
         System.arraycopy(, 0, , 1, index);
         [0] = temp;
     }
     
     public void pushDown(String uriString localName) {
         int index = getIndex(urilocalName);
         if (index < 0 || index == . - 1) {
             return;
         }
         int temp = [index];
         System.arraycopy(index + 1, index. - 1 - index);
         [. - 1] = temp;
     }
    
    
 
     public int getIndex(String uriString localName) {
         return findIndex(.getIndex(urilocalName));
     }

    

Parameters:
qName
Returns:
See also:
org.xml.sax.Attributes.getIndex(java.lang.String)
 
     public int getIndex(String qName) {
         return findIndex(.getIndex(qName));
     }

    
 
     public int getLength() {
         return .;
     }

    

Parameters:
index
Returns:
See also:
org.xml.sax.Attributes.getLocalName(int)
    public String getLocalName(int index) {
        if (index < 0 && index >= .) {
            return null;
        }
        return .getLocalName([index]);
    }

    

Parameters:
index
Returns:
See also:
org.xml.sax.Attributes.getQName(int)
    public String getQName(int index) {
        if (index < 0 && index >= .) {
            return null;
        }
        return .getQName([index]);
    }

    

Parameters:
index
Returns:
See also:
org.xml.sax.Attributes.getType(int)
    public String getType(int index) {
        if (index < 0 && index >= .) {
            return null;
        }
        return .getType([index]);
    }

    
    public String getType(String uriString localName) {
        return .getType(urilocalName);
    }

    

Parameters:
qName
Returns:
See also:
org.xml.sax.Attributes.getType(java.lang.String)
    public String getType(String qName) {
        return .getType(qName);
    }

    

Parameters:
index
Returns:
See also:
org.xml.sax.Attributes.getURI(int)
    public String getURI(int index) {
        if (index < 0 && index >= .) {
            return null;
        }
        return .getURI([index]);
    }

    

Parameters:
index
Returns:
See also:
org.xml.sax.Attributes.getValue(int)
    public String getValue(int index) {
        if (index < 0 && index >= .) {
            return null;
        }
        return .getValue([index]);
    }

    
    public String getValue(String uriString localName) {
        return .getValue(urilocalName);
    }

    

Parameters:
qName
Returns:
See also:
org.xml.sax.Attributes.getValue(java.lang.String)
    public String getValue(String qName) {
        return .getValue(qName);
    }
    
New to GrepCode? Check out our FAQ X