/* * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.content; import android.text.TextUtils; /** * Value type that represents a SyncAdapterType. This object overrides {@link #equals} and * {@link #hashCode}, making it suitable for use as the key of a {@link java.util.Map} */ public class SyncAdapterType { public final String authority; public final String accountType; public SyncAdapterType(String authority, String accountType) { if (TextUtils.isEmpty(authority)) { throw new IllegalArgumentException("the authority must not be empty: " + authority); } if (TextUtils.isEmpty(accountType)) { throw new IllegalArgumentException("the accountType must not be empty: " + accountType); } this.authority = authority; this.accountType = accountType; } public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof SyncAdapterType)) return false; final SyncAdapterType other = (SyncAdapterType)o; return authority.equals(other.authority) && accountType.equals(other.accountType); } public int hashCode() { int result = 17; result = 31 * result + authority.hashCode(); result = 31 * result + accountType.hashCode(); return result; } public String toString() { return "SyncAdapterType {name=" + authority + ", type=" + accountType + "}"; } }