Пример #1
0
 /**
  * Create a new bundle in a current namespace with a given name and type.
  *
  * <p>This should be used for the bundle-defining name, and subsequent calls should use the
  * descriptor form since this will create a new name.
  */
 public <T extends Definition> DefDescriptor<T> getNewObject(
     String ns, Class<T> clazz, String contents) throws IOException {
   String name = getNewName(ns);
   String qualified = null;
   // FIXME: W-2368202
   DefType defType = DefType.getDefType(clazz);
   switch (defType) {
     case CONTROLLER:
     case TESTSUITE:
     case MODEL:
     case RENDERER:
     case HELPER:
     case STYLE:
     case FLAVORED_STYLE:
     case RESOURCE:
     case TYPE:
     case PROVIDER:
     case TOKEN_DESCRIPTOR_PROVIDER:
     case TOKEN_MAP_PROVIDER:
     case INCLUDE:
     case REQUIRED_VERSION:
       qualified = String.format("%s.%s", ns, name);
       break;
       // subtypes
     case ACTION:
     case DESCRIPTION:
     case INCLUDE_REF:
       return null;
     case ATTRIBUTE:
     case LAYOUT:
     case LAYOUT_ITEM:
     case TESTCASE:
     case TOKEN:
     case TOKENS_IMPORT:
     case ATTRIBUTE_DESIGN:
     case DESIGN_TEMPLATE:
     case DESIGN_TEMPLATE_REGION:
     case FLAVOR_INCLUDE:
     case FLAVOR_DEFAULT:
       qualified = name;
       break;
     case APPLICATION:
     case COMPONENT:
     case INTERFACE:
     case EVENT:
     case LIBRARY:
     case DOCUMENTATION:
     case EXAMPLE:
     case LAYOUTS:
     case NAMESPACE:
     case TOKENS:
     case DESIGN:
     case SVG:
     case FLAVORS:
     case FLAVOR_ASSORTMENT:
       qualified = String.format("%s:%s", ns, name);
       break;
     default:
       break;
   }
   DefDescriptor<T> desc = Aura.getDefinitionService().getDefDescriptor(qualified, clazz);
   createFile(desc, contents);
   return desc;
 }