1 /* 2 * Copyright (C) 2008 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 class AnnotationInstanceInfo 18 { 19 private ClassInfo mType; 20 private AnnotationValueInfo[] mElementValues; 21 22 public AnnotationInstanceInfo(ClassInfo type, AnnotationValueInfo[] elementValues) 23 { 24 mType = type; 25 mElementValues = elementValues; 26 } 27 28 ClassInfo type() 29 { 30 return mType; 31 } 32 33 AnnotationValueInfo[] elementValues() 34 { 35 return mElementValues; 36 } 37 38 @Override 39 public String toString() 40 { 41 StringBuilder str = new StringBuilder(); 42 str.append("@"); 43 str.append(mType.qualifiedName()); 44 str.append("("); 45 AnnotationValueInfo[] values = mElementValues; 46 final int N = values.length; 47 for (int i=0; i<N; i++) { 48 AnnotationValueInfo value = values[i]; 49 str.append(value.element().name()); 50 str.append("="); 51 str.append(value.valueString()); 52 if (i != N-1) { 53 str.append(","); 54 } 55 } 56 str.append(")"); 57 return str.toString(); 58 } 59 } 60 61