# Module Factories

###### Identifier:

org.eclipse.wst.server.core.moduleFactories

###### Since:

1.0

###### Description:

This extension point is used to provide a factory for modules that can be used by servers.

###### Configuration Markup:

<!ELEMENT extension (moduleFactory+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT moduleFactory (moduleType*)>

<!ATTLIST moduleFactory

id CDATA #REQUIRED

class CDATA #REQUIRED

projects (true | false)

order CDATA #IMPLIED>

- id - specifies a unique identifier for this extension point
- class - specifies the fully qualified name of the Java class that extends `ModuleFactoryDelegate`. Module factory instances of this type will delegate to instances of this class
- projects - true if this factory may return projects within the workspace, and false otherwise
- order - an integer that specifies the order that the module factory is processed

<!ELEMENT moduleType EMPTY>

<!ATTLIST moduleType

types CDATA #REQUIRED

versions CDATA #REQUIRED>

- types - a comma separated list of module type ids
- versions - a comma separated list of module versions

###### Examples:

The following is an example of a module factory extension point:

    <extension point="org.eclipse.wst.server.core.moduleFactories">
       <moduleFactory
          projects="true"
          class="org.eclipse.MyWebFactory"
          id="org.eclipse.wst.static.web">
          <moduleType
             versions="1.0"
             types="wst.web">
          </moduleType>
       </moduleFactory>
    </extension>

Copyright (c) 2000, 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/