1708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesrenpackage autotest.tko; 2708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren 3708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren 4708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesrenpublic class JobKeyvalField extends AttributeField { 5708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren public static final String TYPE_NAME = "Job Keyval"; 6708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren 7708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren @Override 8708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren protected ParameterizedField freshInstance() { 9708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren return new JobKeyvalField(); 10708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren } 11708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren 12708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren @Override 13708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren public String getTypeName() { 14708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren return TYPE_NAME; 15708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren } 16708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren 17708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren @Override 18708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren protected String getFieldParameterName() { 19708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren return "job_keyval_fields"; 20708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren } 21708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren 22708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren @Override 23708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren public String getBaseSqlName() { 24708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren return "job_keyval_"; 25708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren } 26708f1c00df025e899c0ee8080fa4e81f71b8fa4cjamesren} 27