001 /* 002 Copyright (C) 2001-2003 Laurent Martelli <laurent@aopsys.com> 003 004 This program is free software; you can redistribute it and/or modify 005 it under the terms of the GNU Lesser General Public License as 006 published by the Free Software Foundation; either version 2 of the 007 License, or (at your option) any later version. 008 009 This program is distributed in the hope that it will be useful, 010 but WITHOUT ANY WARRANTY; without even the implied warranty of 011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 012 GNU Lesser General Public License for more details. 013 014 You should have received a copy of the GNU Lesser General Public License 015 along with this program; if not, write to the Free Software 016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 017 018 package org.objectweb.jac.core.rtti; 019 020 import java.io.Serializable; 021 import java.util.Hashtable; 022 import java.util.Map; 023 024 public class ClassInfo implements Serializable { 025 Map methodInfos = new Hashtable(); 026 public MethodInfo getMethodInfo(String method) { 027 MethodInfo methodinfo = (MethodInfo)methodInfos.get(method); 028 if (methodinfo==null) { 029 methodinfo = new MethodInfo(); 030 methodInfos.put(method,methodinfo); 031 } 032 return methodinfo; 033 } 034 public void addModifiedField(String method, String field) { 035 getMethodInfo(method).modifiedFields.add(field); 036 } 037 public void addAccessedField(String method, String field) { 038 getMethodInfo(method).accessedFields.add(field); 039 } 040 public void setReturnedField(String method, String field) { 041 getMethodInfo(method).returnedField = field; 042 } 043 public void setIsGetter(String method, boolean isGetter) { 044 getMethodInfo(method).isGetter = isGetter; 045 } 046 public void addSetField(String method, String field) { 047 getMethodInfo(method).setFields.add(field); 048 } 049 public void addAddedCollection(String method, String field) { 050 getMethodInfo(method).addedCollections.add(field); 051 } 052 public void addRemovedCollection(String method, String field) { 053 getMethodInfo(method).removedCollections.add(field); 054 } 055 public void addModifiedCollection(String method, String field) { 056 getMethodInfo(method).modifiedCollections.add(field); 057 } 058 public void setCollectionIndexArgument(String method, int argument) { 059 getMethodInfo(method).collectionIndexArgument = argument; 060 } 061 public void setCollectionItemArgument(String method, int argument) { 062 getMethodInfo(method).collectionItemArgument = argument; 063 } 064 public void addInvokedMethod(String method,InvokeInfo invokeInfo) { 065 getMethodInfo(method).invokedMethods.add(invokeInfo); 066 } 067 }