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.List;
 
Implements Accessor for RawObject access.

Author(s):
Mark Hayes
 
 class RawAccessor implements Accessor {
 
     private Format parentFormat;
     private Accessor superAccessor;
     private FieldInfo priKeyField;
     private List<FieldInfosecKeyFields;
     private List<FieldInfononKeyFields;
     private boolean isCompositeKey;
 
     RawAccessor(Format parentFormat,
                 Accessor superAccessor,
                 FieldInfo priKeyField,
                 List<FieldInfosecKeyFields,
                 List<FieldInfononKeyFields) {
         this. = parentFormat;
         this. = superAccessor;
         this. = priKeyField;
         this. = secKeyFields;
         this. = nonKeyFields;
     }
 
     RawAccessor(Format parentFormat,
                 List<FieldInfononKeyFields) {
         this. = parentFormat;
         this. = nonKeyFields;
          = Collections.emptyList();
          = true;
     }
 
     public Object newInstance() {
         RawObject superObject;
         if ( != null) {
             superObject = ((RawObject.newInstance());
         } else {
             superObject = null;
         }
         return new RawObject
             (new HashMap<StringObject>(), superObject);
     }
 
     public Object newArray(int len) {
         throw DbCompat.unexpectedState();
     }
 
     public boolean isPriKeyFieldNullOrZero(Object o) {
         if ( != null) {
             Object val = getValue(o);
             Format format = .getType();
             if (format.isPrimitive()) {
                 return ((Numberval).longValue() == 0L;
             } else {
                 return val == null;
             }
         } else if ( != null) {
             return .isPriKeyFieldNullOrZero(getSuper(o));
         } else {
             throw DbCompat.unexpectedState("No primary key field");
         }
     }
 
     public void writePriKeyField(Object oEntityOutput output)
         throws RefreshException {
 
         if ( != null) {
             Object val = getValue(o);
             Format format = .getType();
             output.writeKeyObject(valformat);
         } else if ( != null) {
             .writePriKeyField(getSuper(o), output);
         } else {
             throw DbCompat.unexpectedState("No primary key field");
         }
     }
 
     public void readPriKeyField(Object oEntityInput input)
         throws RefreshException {
 
         if ( != null) {
            Format format = .getType();
            Object val = input.readKeyObject(format);
            setValue(oval);
        } else if ( != null) {
            .readPriKeyField(getSuper(o), input);
        } else {
            throw DbCompat.unexpectedState("No primary key field");
        }
    }
    public void writeSecKeyFields(Object oEntityOutput output)
        throws RefreshException {
        if ( != null && 
            !.getType().isPrimitive() && 
            .getType().getId() != .) {
            output.registerPriKeyObject(getValue(o));
        }
        if ( != null) {
            .writeSecKeyFields(getSuper(o), output);
        }
        for (int i = 0; i < .size(); i += 1) {
            writeField(o.get(i), output);
        }
    }
    public void readSecKeyFields(Object o,
                                 EntityInput input,
                                 int startField,
                                 int endField,
                                 int superLevel)
        throws RefreshException {
        if ( != null && 
            !.getType().isPrimitive() &&
            .getType().getId() != .) {
            input.registerPriKeyObject(getValue(o));
        } else if ( != null && 
                   .getType().getId() == .) {
            input.registerPriStringKeyObject(getValue(o));
        }
        if (superLevel != 0 &&  != null) {
            .readSecKeyFields
                (getSuper(o), inputstartFieldendFieldsuperLevel - 1);
        } else {
            if (superLevel > 0) {
                throw DbCompat.unexpectedState("Super class does not exist");
            }
        }
        if (superLevel <= 0) {
            for (int i = startField;
                 i <= endField && i < .size();
                 i += 1) {
                readField(o.get(i), input);
            }
        }
    }
    public void writeNonKeyFields(Object oEntityOutput output)
        throws RefreshException {
        if ( != null) {
            .writeNonKeyFields(getSuper(o), output);
        }
        for (int i = 0; i < .size(); i += 1) {
            writeField(o.get(i), output);
        }
    }
    public void readNonKeyFields(Object o,
                                 EntityInput input,
                                 int startField,
                                 int endField,
                                 int superLevel)
        throws RefreshException {
        if (superLevel != 0 &&  != null) {
            .readNonKeyFields
                (getSuper(o), inputstartFieldendFieldsuperLevel - 1);
        } else {
            if (superLevel > 0) {
                throw DbCompat.unexpectedState("Super class does not exist");
            }
        }
        if (superLevel <= 0) {
            for (int i = startField;
                 i <= endField && i < .size();
                 i += 1) {
                readField(o.get(i), input);
            }
        }
    }
    public void writeCompositeKeyFields(Object oEntityOutput output)
        throws RefreshException {
        for (int i = 0; i < .size(); i += 1) {
            writeField(o.get(i), output);
        }
    }
    public void readCompositeKeyFields(Object oEntityInput input)
        throws RefreshException {
        for (int i = 0; i < .size(); i += 1) {
            readField(o.get(i), input);
        }
    }
    public Object getField(Object o,
                           int field,
                           int superLevel,
                           boolean isSecField) {
        if (superLevel > 0) {
            return .getField
                (getSuper(o), fieldsuperLevel - 1, isSecField);
        }
        FieldInfo fld =
            isSecField ? .get(field) : .get(field);
        return getValue(ofld);
    }
    public void setField(Object o,
                         int field,
                         int superLevel,
                         boolean isSecField,
                         Object value) {
        if (superLevel > 0) {
            .setField
                (getSuper(o), fieldsuperLevel - 1, isSecFieldvalue);
            return;
        }
        FieldInfo fld =
            isSecField ? .get(field) : .get(field);
        setValue(ofldvalue);
    }
    
    public void setPriField(Object oObject value) {
        if ( != null) {
            setValue(ovalue);
        } else if ( != null) {
            .setPriField(getSuper(o), value);
        } else {
            throw DbCompat.unexpectedState("No primary key field");
        }
    }
    private RawObject getSuper(Object o) {
        return ((RawObjecto).getSuper();
    }
    private Object getValue(Object oFieldInfo field) {
        return ((RawObjecto).getValues().get(field.getName());
    }
    private void setValue(Object oFieldInfo fieldObject val) {
        ((RawObjecto).getValues().put(field.getName(), val);
    }
    private void writeField(Object oFieldInfo fieldEntityOutput output)
        throws RefreshException {
        Object val = getValue(ofield);
        Format format = field.getType();
        if ( || format.isPrimitive()) {
            output.writeKeyObject(valformat);
        } else if (format.getId() == .) {
            output.writeString((Stringval);
        } else {
            output.writeObject(valformat);
        }
    }
    private void readField(Object oFieldInfo fieldEntityInput input)
        throws RefreshException {
        Format format = field.getType();
        Object val;
        if ( || format.isPrimitive()) {
            val = input.readKeyObject(format);
        } else if (format.getId() == .) {
            val = input.readStringObject();
        } else {
            val = input.readObject();
        }
        setValue(ofieldval);
    }
    
    public FieldInfo getPriKeyField() {
        return ;
    }
New to GrepCode? Check out our FAQ X