test_class.file: java/schema/src/test/java/com/expedia/tesla/schema/SchemaTest.java
test_class.identifier: SchemaTest
test_case.body: @Test
  	public void schemaFieldTest() throws URISyntaxException,
  			TeslaSchemaException, NoSuchAlgorithmException, SAXException,
  			IOException, ParserConfigurationException {
  		Schema schema = parseSchema("src/test/resources/field.tml");
  		Collection<UserType> types = schema.getUserTypes();
  
  		String[] expectedFieldNameList = new String[] { "Byte", "Int16",
  				"UInt16", "Int32", "UInt32", "Int64", "UInt64", "Boolean",
  				"Double", "Binary", "String" };
  		Type[] expectedTypeList = new Type[] { Primitive.BYTE, Primitive.INT16,
  				Primitive.UINT16, Primitive.INT32, Primitive.UINT32,
  				Primitive.INT64, Primitive.UINT64, Primitive.BOOLEAN,
  				Primitive.DOUBLE, Primitive.BINARY, Primitive.STRING };
  		assert (expectedFieldNameList.length == expectedTypeList.length);
  
  		assertTrue(types.iterator().next().isClass());
  		Class class1 = (Class) types.iterator().next();
  
  		for (int i = 0; i < expectedFieldNameList.length; i++) {
  			String fieldName = expectedFieldNameList[i] + "Field";
  			Field field = class1.findField(fieldName);
  			assertNotNull(field);
  			assertEquals(fieldName, field.getName());
  			assertEquals(expectedTypeList[i], field.getType());
  		}
  	}
test_case.class_method_signature: SchemaTest.schemaFieldTest()
test_case.full_signature: @Test public void schemaFieldTest()
test_case.identifier: schemaFieldTest
test_case.invocations: parseSchema getUserTypes assertTrue isClass next iterator next iterator findField assertNotNull assertEquals getName assertEquals getType
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void schemaFieldTest()
focal_class.declarator: TYPE_ID_TOKENIZER_PATTERN = 
  			"((?<=<)|(?=<))|((?<=>)|(?=>))|((?<=\\[)|(?=\\[))|((?<=\\])|(?=\\]))|((?<=,)|(?=,))"
focal_class.modifier: public static final
focal_class.original_string: public static final String TYPE_ID_TOKENIZER_PATTERN = 
  			"((?<=<)|(?=<))|((?<=>)|(?=>))|((?<=\\[)|(?=\\[))|((?<=\\])|(?=\\]))|((?<=,)|(?=,))";
focal_class.type: String
focal_class.var_name: TYPE_ID_TOKENIZER_PATTERN
focal_class.declarator: COMPILED_TYPE_ID_PATTERN = Pattern.compile(TYPE_ID_TOKENIZER_PATTERN)
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern COMPILED_TYPE_ID_PATTERN = Pattern.compile(TYPE_ID_TOKENIZER_PATTERN);
focal_class.type: Pattern
focal_class.var_name: COMPILED_TYPE_ID_PATTERN
focal_class.declarator: version
focal_class.modifier: protected
focal_class.original_string: protected SchemaVersion version;
focal_class.type: SchemaVersion
focal_class.var_name: version
focal_class.declarator: typeMap = new java.util.HashMap<String, Type>()
focal_class.modifier: protected
focal_class.original_string: protected java.util.Map<String, Type> typeMap = new java.util.HashMap<String, Type>();
focal_class.type: java.util.Map<String, Type>
focal_class.var_name: typeMap
focal_class.file: java/schema/src/main/java/com/expedia/tesla/schema/Schema.java
focal_class.identifier: Schema
focal_class.class_method_signature: Schema.build(String path)
focal_class.full_signature: public static Schema build(String path)
focal_class.identifier: build
focal_class.modifiers: public static
focal_class.parameters: (String path)
focal_class.return: Schema
focal_class.signature: Schema build(String path)
focal_class.class_method_signature: Schema.save(OutputStream os)
focal_class.full_signature: public void save(OutputStream os)
focal_class.identifier: save
focal_class.modifiers: public
focal_class.parameters: (OutputStream os)
focal_class.return: void
focal_class.signature: void save(OutputStream os)
focal_class.class_method_signature: Schema.getTypes()
focal_class.full_signature: public Collection<Type> getTypes()
focal_class.identifier: getTypes
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<Type>
focal_class.signature: Collection<Type> getTypes()
focal_class.class_method_signature: Schema.getUserTypes()
focal_class.full_signature: public Collection<UserType> getUserTypes()
focal_class.identifier: getUserTypes
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<UserType>
focal_class.signature: Collection<UserType> getUserTypes()
focal_class.class_method_signature: Schema.findType(String idOrName)
focal_class.full_signature: public Type findType(String idOrName)
focal_class.identifier: findType
focal_class.modifiers: public
focal_class.parameters: (String idOrName)
focal_class.return: Type
focal_class.signature: Type findType(String idOrName)
focal_class.class_method_signature: Schema.getVersion()
focal_class.full_signature: public SchemaVersion getVersion()
focal_class.identifier: getVersion
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: SchemaVersion
focal_class.signature: SchemaVersion getVersion()
focal_class.class_method_signature: Schema.getDerivedTypes(String baseTypeId,
  			boolean directOnly)
focal_class.full_signature: public Collection<Type> getDerivedTypes(String baseTypeId,
  			boolean directOnly)
focal_class.identifier: getDerivedTypes
focal_class.modifiers: public
focal_class.parameters: (String baseTypeId,
  			boolean directOnly)
focal_class.return: Collection<Type>
focal_class.signature: Collection<Type> getDerivedTypes(String baseTypeId,
  			boolean directOnly)
focal_class.class_method_signature: Schema.getDerivedTypes(Type baseType,
  			boolean directOnly)
focal_class.full_signature: public Collection<Type> getDerivedTypes(Type baseType,
  			boolean directOnly)
focal_class.identifier: getDerivedTypes
focal_class.modifiers: public
focal_class.parameters: (Type baseType,
  			boolean directOnly)
focal_class.return: Collection<Type>
focal_class.signature: Collection<Type> getDerivedTypes(Type baseType,
  			boolean directOnly)
focal_class.class_method_signature: Schema.getDerivedTypes(Type type, boolean directOnly,
  			java.util.Map<Type, Set<Type>> derivedTypeMap)
focal_class.full_signature: private Set<Type> getDerivedTypes(Type type, boolean directOnly,
  			java.util.Map<Type, Set<Type>> derivedTypeMap)
focal_class.identifier: getDerivedTypes
focal_class.modifiers: private
focal_class.parameters: (Type type, boolean directOnly,
  			java.util.Map<Type, Set<Type>> derivedTypeMap)
focal_class.return: Set<Type>
focal_class.signature: Set<Type> getDerivedTypes(Type type, boolean directOnly,
  			java.util.Map<Type, Set<Type>> derivedTypeMap)
focal_class.class_method_signature: Schema.createDerivedMap()
focal_class.full_signature: private java.util.Map<Type, Set<Type>> createDerivedMap()
focal_class.identifier: createDerivedMap
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: java.util.Map<Type, Set<Type>>
focal_class.signature: java.util.Map<Type, Set<Type>> createDerivedMap()
focal_method.body: public Collection<UserType> getUserTypes() {
  		Collection<UserType> uts = new ArrayList<UserType>();
  		for (Type t : typeMap.values()) {
  			if (t.isUserType()) {
  				uts.add((UserType) t);
  			}
  		}
  		return uts;
  	}
focal_method.class_method_signature: Schema.getUserTypes()
focal_method.full_signature: public Collection<UserType> getUserTypes()
focal_method.identifier: getUserTypes
focal_method.invocations: values isUserType add
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Collection<UserType>
focal_method.signature: Collection<UserType> getUserTypes()