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