1f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar/* 2f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * Copyright (C) 2017 The Android Open Source Project 3f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * 4f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * Licensed under the Apache License, Version 2.0 (the "License"); 5f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * you may not use this file except in compliance with the License. 6f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * You may obtain a copy of the License at 7f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * 8f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * http://www.apache.org/licenses/LICENSE-2.0 9f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * 10f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * Unless required by applicable law or agreed to in writing, software 11f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * distributed under the License is distributed on an "AS IS" BASIS, 12f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * See the License for the specific language governing permissions and 14f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * limitations under the License. 15f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar */ 16f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 17bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viverettepackage androidx.room.integration.testapp.vo; 18f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 19bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.ColumnInfo; 20bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.Entity; 21bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.room.PrimaryKey; 22f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 23f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar/** 24f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar * An entity that was weird names 25f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar */ 26f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar@Entity(tableName = FunnyNamedEntity.TABLE_NAME) 27f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyarpublic class FunnyNamedEntity { 28f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public static final String TABLE_NAME = "funny but not so funny"; 29f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public static final String COLUMN_ID = "_this $is id$"; 30f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public static final String COLUMN_VALUE = "unlikely-Ωşå¨ıünames"; 31f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar @PrimaryKey(autoGenerate = true) 32f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar @ColumnInfo(name = COLUMN_ID) 33f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar private int mId; 34f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar @ColumnInfo(name = COLUMN_VALUE) 35f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar private String mValue; 36f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 37f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public FunnyNamedEntity(int id, String value) { 38f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar mId = id; 39f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar mValue = value; 40f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar } 41f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 42f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public int getId() { 43f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar return mId; 44f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar } 45f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 46f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public void setId(int id) { 47f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar mId = id; 48f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar } 49f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 50f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public String getValue() { 51f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar return mValue; 52f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar } 53f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 54f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public void setValue(String value) { 55f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar mValue = value; 56f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar } 57f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 58f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar @Override 59f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public boolean equals(Object o) { 60f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar if (this == o) return true; 61f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar if (o == null || getClass() != o.getClass()) return false; 62f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 63f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar FunnyNamedEntity entity = (FunnyNamedEntity) o; 64f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 65f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar if (mId != entity.mId) return false; 66f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar return mValue != null ? mValue.equals(entity.mValue) : entity.mValue == null; 67f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar } 68f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar 69f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar @Override 70f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar public int hashCode() { 71f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar int result = mId; 72f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar result = 31 * result + (mValue != null ? mValue.hashCode() : 0); 73f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar return result; 74f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar } 75f3b01d87d24552e0d716aa6b002fcd54e2522adfYigit Boyar} 76