1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.betwixt.schema.strategy.impl;
18
19 import org.apache.commons.betwixt.ElementDescriptor;
20 import org.apache.commons.betwixt.schema.strategy.SchemaTypeNamingStrategy;
21
22 /***
23 * Names schema types from the property type of the descriptor
24 * @author <a href='http://jakarta.apache.org/commons'>Jakarta Commons Team</a> of the <a href='http://www.apache.org'>Apache Software Foundation</a>
25 * @since 0.8
26 */
27 public class ClassNameSchemaNamingStrategy extends SchemaTypeNamingStrategy {
28
29 /***
30 * Names the schema type from the type of the property.
31 * @see SchemaTypeNamingStrategy#nameSchemaType(ElementDescriptor)
32 */
33 public String nameSchemaType(ElementDescriptor elementDescriptor) {
34
35 String result="xsd:anyType";
36 Class type = elementDescriptor.getPropertyType();
37 if (type != null)
38 {
39 String fullName = elementDescriptor.getPropertyType().getName();
40 int lastIndexOf = fullName.lastIndexOf('.');
41 result = fullName.substring(++lastIndexOf);
42 }
43 return result;
44 }
45
46 /***
47 * Outputs brief description.
48 */
49 public String toString() {
50 return "Simple Class Name";
51 }
52 }