package com.android.node;

import android.R;
import android.view.inspector.InspectionCompanion;
import android.view.inspector.PropertyMapper;
import android.view.inspector.PropertyReader;
import java.lang.Override;

/**
 * Inspection companion for {@link TestNode}.
 *
 * Generated by {@link android.processor.view.inspector.InspectionCompanionGenerator}
 * on behalf of {@link android.processor.view.inspector.InspectionCompanionGeneratorTest}.
 */
public final class TestNode$InspectionCompanion implements InspectionCompanion<TestNode> {
    /**
     * Guards against reading properties before mapping them.
     */
    private boolean mPropertiesMapped = false;

    /**
     * Property ID of {@code boolean}.
     */
    private int mBooleanId;

    /**
     * Property ID of {@code byte}.
     */
    private int mByteId;

    /**
     * Property ID of {@code char}.
     */
    private int mCharId;

    /**
     * Property ID of {@code color}.
     */
    private int mColorId;

    /**
     * Property ID of {@code double}.
     */
    private int mDoubleId;

    /**
     * Property ID of {@code float}.
     */
    private int mFloatId;

    /**
     * Property ID of {@code gravity}.
     */
    private int mGravityId;

    /**
     * Property ID of {@code int}.
     */
    private int mIntId;

    /**
     * Property ID of {@code long}.
     */
    private int mLongId;

    /**
     * Property ID of {@code object}.
     */
    private int mObjectId;

    /**
     * Property ID of {@code resourceId}.
     */
    private int mResourceIdId;

    /**
     * Property ID of {@code short}.
     */
    private int mShortId;

    @Override
    public void mapProperties(PropertyMapper propertyMapper) {
        mBooleanId = propertyMapper.mapBoolean("boolean", R.attr.boolean);
        mByteId = propertyMapper.mapByte("byte", R.attr.byte);
        mCharId = propertyMapper.mapChar("char", R.attr.char);
        mColorId = propertyMapper.mapColor("color", R.attr.color);
        mDoubleId = propertyMapper.mapDouble("double", R.attr.double);
        mFloatId = propertyMapper.mapFloat("float", R.attr.float);
        mGravityId = propertyMapper.mapGravity("gravity", R.attr.gravity);
        mIntId = propertyMapper.mapInt("int", R.attr.int);
        mLongId = propertyMapper.mapLong("long", R.attr.long);
        mObjectId = propertyMapper.mapObject("object", R.attr.object);
        mResourceIdId = propertyMapper.mapResourceId("resourceId", R.attr.resourceId);
        mShortId = propertyMapper.mapShort("short", R.attr.short);
        mPropertiesMapped = true;
    }

    @Override
    public void readProperties(TestNode node, PropertyReader propertyReader) {
        if (!mPropertiesMapped) {
            throw new InspectionCompanion.UninitializedPropertyMapException();
        }
        propertyReader.readBoolean(mBooleanId, node.getBoolean());
        propertyReader.readByte(mByteId, node.getByte());
        propertyReader.readChar(mCharId, node.getChar());
        propertyReader.readColor(mColorId, node.getColor());
        propertyReader.readDouble(mDoubleId, node.getDouble());
        propertyReader.readFloat(mFloatId, node.getFloat());
        propertyReader.readGravity(mGravityId, node.getGravity());
        propertyReader.readInt(mIntId, node.getInt());
        propertyReader.readLong(mLongId, node.getLong());
        propertyReader.readObject(mObjectId, node.getObject());
        propertyReader.readResourceId(mResourceIdId, node.getResourceId());
        propertyReader.readShort(mShortId, node.getShort());
    }
}
