Package com.google.javascript.jscomp

# Class GoogleJsMessageIdGenerator

java.lang.Object
com.google.javascript.jscomp.GoogleJsMessageIdGenerator

All Implemented Interfaces:
  `JsMessage.IdGenerator`

public class GoogleJsMessageIdGenerator extends Object implements JsMessage.IdGenerator
An `JsMessage.IdGenerator` designed to play nicely with Google's Translation systems. Each message is scoped to a project id, so that it does not conflict with other messages at Google.

Just as reminder what key type used in different formats:

1. XMB - id. We export using this format.
2. XTB - id. Internal, result of translation.
3. XLB - name. External, use it if we need to share translation with third part.
4. PROPERTIES - name.

See Also:
  - xmb

## Constructor Summary

Constructors
Constructor
Description
`GoogleJsMessageIdGenerator(String projectId)`
Creates an instance.

## Method Summary

Modifier and Type
Method
Description
`String`
`generateId(String meaning, List<CharSequence> messageParts)`
Generate the ID for the message.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### GoogleJsMessageIdGenerator

public GoogleJsMessageIdGenerator(String projectId)
Creates an instance.

Parameters:
  `projectId` - A TC project name (e.g. "MyProject")

## Method Details

### generateId

public String generateId(String meaning, List<CharSequence> messageParts)
Description copied from interface: `JsMessage.IdGenerator`
Generate the ID for the message. Messages with the same messageParts and meaning will get the same id. Messages with the same id will get the same translation.

Specified by:
  `generateId` in interface `JsMessage.IdGenerator`
Parameters:
  `meaning` - The programmer-specified meaning. If no `@meaning` annotation appears, we will use the name of the variable it's assigned to. If the variable is unnamed, then we will just use a fingerprint of the message.
  `messageParts` - The parts of the message, including the main message text.