Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*-
   * See the file LICENSE for redistribution information.
   *
   * Copyright (c) 2002, 2013 Oracle and/or its affiliates.  All rights reserved.
   *
   */
  
  package com.sleepycat.persist.impl;
  
 import java.util.Map;
 import java.util.Set;
 
An array of primitives having one dimension. Multidimensional arrays are handled by ObjectArrayFormat.

Author(s):
Mark Hayes
 
 public class PrimitiveArrayFormat extends Format {
 
     private static final long serialVersionUID = 8285299924106073591L;
 
     private SimpleFormat componentFormat;
 
     PrimitiveArrayFormat(Catalog catalogClass type) {
         super(catalogtype);
     }
 
     @Override
     public boolean isArray() {
         return true;
     }
 
     @Override
     public int getDimensions() {
         return 1;
     }
 
     @Override
     public Format getComponentType() {
         return ;
     }
 
     @Override
     void collectRelatedFormats(Catalog catalog,
                                Map<StringFormatnewFormats) {
         /* Component type is simple and simple type formats are predefined. */
     }
 
     @Override
     void initialize(Catalog catalogEntityModel modelint initVersion) {
 
         /*
          * getExistingType is allowed (to support raw mode) because primitive
          * arrays are always available in Java.
          */
          = (SimpleFormat)
             catalog.getFormat(getExistingType().getComponentType().getName());
     }
 
     @Override
     Object newArray(int len) {
         return Array.newInstance(getType(), len);
     }
 
     @Override
     public Object newInstance(EntityInput inputboolean rawAccess)
         throws RefreshException {
 
         int len = input.readArrayLength();
         if (rawAccess) {
             return new RawObject(thisnew Object[len]);
         } else {
             return .newPrimitiveArray(leninput);
         }
     }
 
     @Override
     public Object readObject(Object oEntityInput inputboolean rawAccess)
         throws RefreshException {
 
         if (rawAccess) {
             Object[] a = ((RawObjecto).getElements();
             for (int i = 0; i < a.lengthi += 1) {
                 a[i] = .newInstance(inputtrue);
                 .readObject(a[i], inputtrue);
             }
         }
         /* Else, do nothing -- newInstance reads the value. */
         return o;
     }
 
     @Override
     void writeObject(Object oEntityOutput outputboolean rawAccess)
        throws RefreshException {
        if (rawAccess) {
            Object[] a = ((RawObjecto).getElements();
            output.writeArrayLength(a.length);
            for (int i = 0; i < a.lengthi += 1) {
                .writeObject(a[i], outputtrue);
            }
        } else {
            .writePrimitiveArray(ooutput);
        }
    }
    @Override
                            boolean rawAccess,
                            RawObject rawObject,
                            IdentityHashMap converted)
        throws RefreshException {
        RawArrayInput input = new RawArrayInput
            (catalograwAccessconvertedrawObject);
        Object a = newInstance(inputrawAccess);
        converted.put(rawObjecta);
        return readObject(ainputrawAccess);
    }
    @Override
    void skipContents(RecordInput input) {
        int len = input.readPackedInt();
        .skipPrimitiveArray(leninput);
    }
    @Override
    void copySecMultiKey(RecordInput inputFormat keyFormatSet results) {
        int len = input.readPackedInt();
        .copySecMultiKeyPrimitiveArray(leninputresults);
    }
    @Override
    boolean evolve(Format newFormatEvolver evolver) {
        evolver.useOldFormat(thisnewFormat);
        return true;
    }
New to GrepCode? Check out our FAQ X