# com.bea.ide.lang.control
RelatedDocumentHelper Class

public class RelatedDocumentHelper
extends `Object`

This has methods used by control and controlcontainer handlers and documents to implement IRelatedDocument. It searches through files on disk looking for specific tags that indicate autogeneration. Note that autogen tags are somewhat different than javelin-parsed annotations. They are scanned in text, and only valid in the first comment in the file. Care should be taken when autogenning files not to create attributes before the autogen tag which can be confused for comments.

Hierarchy
  `Object`
  `RelatedDocumentHelper`

## Field Summary

`public static `String`` | `AUTOGEN_ATTR` The attribute name for autogen status (value will be true/false).
`public static `String`` | `LINK_PREFIX` The prefix of an autogen tag.
`public static `String`` | `LINK_TAG` The tag part of an autogen tag.
`public static `String`` | `SOURCE_ATTR` The attribute name for autogen source.

## Constructor Summary

RelatedDocumentHelper()

## Method Summary

`public static boolean` | `breakRelationship`(`ISourceDocument` doc) set the given document to non-autogenerated.
`public static boolean` | `confirmBreakDialog`(`ISourceDocument` doc) show a dialog asking the user if she wants to break the link between documents.
`public static `List`` | `findRelatedFiles`(`URI` sourceURI, `Map` actionMap) Find related files.
`public static `URI`` | `getParentDocument`(`ISourceDocument` doc) Determine the parent document of the autogenerated document.
`public static `URI`` | `getParentDocument`(`URI` docUri) Determine the parent document of the autogenerated document.
`public static boolean` | `isAutoGenerated`(`ISourceDocument` doc) Determine if the given document is autogenerated.
`public static boolean` | `isAutoGenerated`(`URI` docUri) Determine if the given document is autogenerated.
`public static boolean` | `regenerate`(`URI` sourceURI, `URI` destinationURI, `Map` actionMap) Regenerate the specified file.

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Detail

### AUTOGEN_ATTR

    public static String AUTOGEN_ATTR

  The attribute name for autogen status (value will be true/false).

### LINK_PREFIX

    public static String LINK_PREFIX

  The prefix of an autogen tag.

### LINK_TAG

    public static String LINK_TAG

  The tag part of an autogen tag.

### SOURCE_ATTR

    public static String SOURCE_ATTR

  The attribute name for autogen source.

## Constructor Detail

### RelatedDocumentHelper

    public RelatedDocumentHelper()

## Method Detail

### breakRelationship(ISourceDocument) Method

    public static boolean breakRelationship(ISourceDocument doc)

set the given document to non-autogenerated.

#### Parameters

doc
  the document to set as not autogenerated.

#### Returns

true if the change succeeded, false if something went wrong.

### confirmBreakDialog(ISourceDocument) Method

    public static boolean confirmBreakDialog(ISourceDocument doc)

show a dialog asking the user if she wants to break the link between documents.

#### Parameters

doc
  the document which will be set to non-autogenerated.

#### Returns

true if the user agreed, false if the user cancelled.

### findRelatedFiles(URI, Map) Method

    public static List findRelatedFiles(URI sourceURI,
                                        Map actionMap)

Find related files. This searches all files in the same directory as the source, and returns a list of those which are autogenerated from the source.

#### Parameters

sourceURI
  the source document which will be the parent of any files returned.

actionMap
  a Map of DocumentHandler ID to AbstractFilegenAction which indicates how to regenerate the file. Not actually used by this method.

### getParentDocument(ISourceDocument) Method

    public static URI getParentDocument(ISourceDocument doc)

Determine the parent document of the autogenerated document.

#### Parameters

doc
  the Document to examine

#### Returns

the URI of it's parent file, or null if there is none.

### getParentDocument(URI) Method

    public static URI getParentDocument(URI docUri)

Determine the parent document of the autogenerated document.

#### Parameters

docUri
  the document to examine.

#### Returns

the URI of it's parent file, or null if there is none.

### isAutoGenerated(ISourceDocument) Method

    public static boolean isAutoGenerated(ISourceDocument doc)

Determine if the given document is autogenerated.

#### Parameters

doc
  the document to look at.

#### Returns

true if doc is flagged as autogen="true", false otherwise.

### isAutoGenerated(URI) Method

    public static boolean isAutoGenerated(URI docUri)

Determine if the given document is autogenerated.

#### Parameters

docUri
  the document URI to look at.

#### Returns

true if doc is flagged as autogen="true", false otherwise.

### regenerate(URI, URI, Map) Method

    public static boolean regenerate(URI sourceURI,
                                     URI destinationURI,
                                     Map actionMap)

Regenerate the specified file.

#### Parameters

sourceURI
  the URI of the source document.

destinationURI
  the URI of the destination document.

actionMap
  a map of destination handlerId to AbstractFileGenAction. May be null if ControlSvc knows how to generate the file.

#### Returns

true if the generation succeeded or was queued for later execution (because a refactor is in progress), false if it failed.