1 9 package com.vladium.emma.report; 10 11 15 public 16 interface IItemMetadata 17 { 18 20 int TYPE_ID_ALL = 0; 22 int TYPE_ID_PACKAGE = 1; 23 int TYPE_ID_SRCFILE = 2; 24 int TYPE_ID_CLASS = 3; 25 int TYPE_ID_METHOD = 4; 26 27 int getTypeID (); 28 String getTypeName (); 29 30 36 long getAttributeIDs (); 37 38 abstract class Factory 39 { 40 public static IItemMetadata getTypeMetadata (final int typeID) 41 { 42 if ((typeID < TYPE_ID_ALL) || (typeID > TYPE_ID_METHOD)) 43 throw new IllegalArgumentException ("invalid type ID: " + typeID); 44 45 return METADATA [typeID]; 46 } 47 48 public static IItemMetadata [] getAllTypes () 49 { 50 return METADATA; 51 } 52 53 private Factory () {} 54 55 56 private static final IItemMetadata [] METADATA; 58 static 59 { 60 62 METADATA = new IItemMetadata [] 63 { 64 AllItem.getTypeMetadata (), 65 PackageItem.getTypeMetadata (), 66 SrcFileItem.getTypeMetadata (), 67 ClassItem.getTypeMetadata (), 68 MethodItem.getTypeMetadata (), 69 }; 70 } 71 72 } 74 75 } | Popular Tags |