/** * Add a new datatype definition. * Attempting to override an existing definition with an * equivalent one (i.e. with the same classname) results in * a verbose log message. Attempting to override an existing definition * with a different one results in a warning log message, but the * definition is changed. * * @param typeName The name of the datatype. * Must not be <code>null</code>. * @param typeClass The full name of the class implementing the datatype. * Must not be <code>null</code>. */ public void addDataTypeDefinition(final String typeName, final Class<?> typeClass) { ComponentHelper.getComponentHelper(this).addDataTypeDefinition(typeName, typeClass); }
private void attributeNamespaceDef(String ns) { AntTypeDefinition def = new AntTypeDefinition(); def.setName(ProjectHelper.nsToComponentName(ns)); def.setClassName(OATA + "attribute.AttributeNamespace"); def.setClassLoader(getClass().getClassLoader()); def.setRestrict(true); componentHelper.addDataTypeDefinition(def); }
private void componentDef(String ns, String name, String classname) { AntTypeDefinition def = new AntTypeDefinition(); def.setName(ProjectHelper.genComponentName(ns, name)); def.setClassName(classname); def.setClassLoader(getClass().getClassLoader()); def.setRestrict(true); componentHelper.addDataTypeDefinition(def); } }
def.setClass(ScriptDefBase.class); ComponentHelper.getComponentHelper( getProject()).addDataTypeDefinition(def);
/** * Create a new ant type based on the embedded tasks and types. */ @Override public void execute() { if (nestedSequential == null) { throw new BuildException("Missing sequential element"); } if (name == null) { throw new BuildException("Name not specified"); } name = ProjectHelper.genComponentName(getURI(), name); MyAntTypeDefinition def = new MyAntTypeDefinition(this); def.setName(name); def.setClass(MacroInstance.class); ComponentHelper helper = ComponentHelper.getComponentHelper( getProject()); helper.addDataTypeDefinition(def); log("creating macro " + name, Project.MSG_VERBOSE); }
/** * Run the definition. * This registers the XML namespace (URI) as a namespace for * attributes. */ public void execute() { String componentName = ProjectHelper.nsToComponentName( getURI()); AntTypeDefinition def = new AntTypeDefinition(); def.setName(componentName); def.setClassName(AttributeNamespace.class.getName()); def.setClass(AttributeNamespace.class); def.setRestrict(true); def.setClassLoader(AttributeNamespace.class.getClassLoader()); ComponentHelper.getComponentHelper(getProject()) .addDataTypeDefinition(def); } }
/** * Make a new definition. */ @Override public void execute() { if (nestedTask == null) { throw new BuildException("Missing nested element"); } if (name == null) { throw new BuildException("Name not specified"); } name = ProjectHelper.genComponentName(getURI(), name); ComponentHelper helper = ComponentHelper.getComponentHelper( getProject()); String componentName = ProjectHelper.genComponentName( nestedTask.getNamespace(), nestedTask.getTag()); AntTypeDefinition def = helper.getDefinition(componentName); if (def == null) { throw new BuildException( "Unable to find typedef %s", componentName); } PreSetDefinition newDef = new PreSetDefinition(def, nestedTask); newDef.setName(name); helper.addDataTypeDefinition(newDef); log("defining preset " + name, Project.MSG_VERBOSE); }
.addDataTypeDefinition(def); } catch (ClassNotFoundException cnfe) { throw new BuildException(
private void setTypes(Project project, ClassLoader loader) { List<Type> types = AntCorePlugin.getPlugin().getPreferences().getTypes(); for (Type type : types) { AntTypeDefinition def = new AntTypeDefinition(); def.setName(type.getTypeName()); def.setClassName(type.getClassName()); def.setClassLoader(loader); ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def); } }
private void setTasks(Project project, ClassLoader loader) { List<org.eclipse.ant.core.Task> tasks = AntCorePlugin.getPlugin().getPreferences().getTasks(); for (org.eclipse.ant.core.Task task : tasks) { AntTypeDefinition def = new AntTypeDefinition(); def.setName(task.getTaskName()); def.setClassName(task.getClassName()); def.setClassLoader(loader); def.setAdaptToClass(Task.class); def.setAdapterClass(TaskAdapter.class); ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def); } }