# Document Creation

This extension point is deprecated

###### Identifier:

org.eclipse.core.filebuffers.documentCreation

###### Since:

3.0

###### Description:

This extension point is used to customize the document creation behavior of this plug-in's default text file buffer manager. It allows to specify which document factory should be used in order to create the document instance of a text file buffer created for a certain file content type, file extension, or file name.

###### Deprecated since 3.2:

This extension must no longer be used. We urge existing clients to remove their contribution:

- the file buffer manager now provides an `ISynchronizable` document. Clients which need a synchronized document can set a lock object. To overwrite an existing lock object is considered bad practice and can break other clients: if the document already has a lock object set then this one should be used by the client.
- clients which need a different `org.eclipse.jface.text.IDocument` implementation create the corresponding document in their document provider. The custom document will wrap the document provided by the file buffer.

###### Configuration Markup:

<!ELEMENT extension (factory+)>

<!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 factory EMPTY>

<!ATTLIST factory

class CDATA #REQUIRED

extensions CDATA #IMPLIED

fileNames CDATA #IMPLIED

contentTypeId CDATA #IMPLIED>

The specification of a document factory. In order to find a factory for a given file the attributes of each factory specification are consulted in the following sequence: contentTypeId, fileNames, extensions. If multiple, equally specific factory specifications are found for a given file it is not specified which factory is used.

- class - a fully qualified name of the factory implementation class. This class must implement the `org.eclipse.core.filebuffers.IDocumentFactory` interface.
- extensions - a comma separated list of file extensions for which this factory should be used
- fileNames - a comma separated list of file names for which this factory should be used
- contentTypeId - the id of a content type as defined by the `org.eclipse.core.contenttype.contentTypes` extension point for which this factory should be used

###### Examples:

    <extension
         id="org.eclipse.jdt.debug.ui.SnippetDocumentFactory"
         name="%snippetDocumentFactory.name"
         point="org.eclipse.core.filebuffers.documentCreation">
      <factory
            extensions="jpage"
            class="org.eclipse.jdt.internal.debug.ui.snippeteditor.SnippetDocumentFactory">
      </factory>
    </extension>

###### API Information:

Document factories have to implement org.eclipse.core.filebuffers.IDocumentFactory.

Copyright (c) 2001, 2006 IBM Corporation and others.
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-v20.html/ SPDX-License-Identifier: EPL-2.0