public class UsageData extends HashStructureAdapter
To create a UsageData object, use UsagesTracker.createUsageData()
.
The UsageData object is not intended to be reused. A new object
should be created for each event you want to report.
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
EVENT_ID |
protected static java.lang.String |
EVENT_PROPERTIES |
protected static java.lang.String |
EVENT_SOURCE |
_hash
Modifier | Constructor and Description |
---|---|
protected |
UsageData(HashStructure hash) |
Modifier and Type | Method and Description |
---|---|
void |
setEventId(java.lang.String eventId)
Sets the id that identifies the type of usage event, like "CREATE_DOCUMENT"
or "ACTIVATE_EDITOR".
|
void |
setEventSource(java.lang.String eventSource)
Identifies the source object involved in the event.
|
void |
setExtensionId(java.lang.String extensionProductId)
Deprecated.
|
void |
setProperties(HashStructure propertyHash)
Sets the detailed properties for the usage event.
|
void |
setProperty(java.lang.String propertyName,
java.util.Collection<java.lang.String> values)
Sets the value of the named property to a
ListStructure containing
the values in the supplied values collection. |
void |
setProperty(java.lang.String propertyName,
java.lang.String propertyValue)
Sets the value of the named property.
|
void |
setPropertyId(java.lang.String propertyId)
Deprecated.
|
void |
setPropertyValue(java.lang.String propertyValue)
Deprecated.
|
void |
setUsageTimeStamp(java.lang.Long time)
Deprecated.
No replacement.
|
void |
setUsageType(java.lang.String usageType)
Deprecated.
|
addStructureChangeListener, containsKey, copyTo, copyToImpl, equals, equalsImpl, findOrCreate, forcedCopyTo, getHashStructure, removeStructureChangeListener, useObjectEquals
protected static final java.lang.String EVENT_ID
protected static final java.lang.String EVENT_SOURCE
protected static final java.lang.String EVENT_PROPERTIES
protected UsageData(HashStructure hash)
public final void setEventId(java.lang.String eventId)
eventId
- a non-null stringpublic final void setEventSource(java.lang.String eventSource)
eventSource
- must not be nullpublic final void setProperty(java.lang.String propertyName, java.lang.String propertyValue)
propertyName
has already
been set, its value will be overwritten (assuming propertyValue
is
not null).
The value of propertyName
is not intended to be any value
you like, it is expected to be something agreed upon by Product Management
team, to ensure the collected data can be accurately processed.The
propertyValue
must be a non-null string.
Assuming this method was called with "node-class" as
the propertyName
and "oracle.jdeveloper.model.JavaSourceNode"
as the propertyValue
, when written to the log file, the
output for this single property will look like:
<hash n="event-properties"> <value n="node-class" v="oracle.jdeveloper.model.JavaSourceNode"/> </hash>
propertyName
- the property being set; must not be nullpropertyValue
- the value of the property; must not be null#setProperty(String, Collection)
public final void setProperty(java.lang.String propertyName, java.util.Collection<java.lang.String> values)
ListStructure
containing
the values in the supplied values
collection. If propertyName
has already been set, its value will be overwritten (assuming
propertyValue
is not null).
The value passed to propertyName
is not intended to be any
value you like, rather it is expected to be something agreed upon by Product
Management, to ensure the collected data can be accurately processed.The
propertyValue
must be a non-null string.
This method should be used for storing a list of values for a single
property. If you wanted to store information about a technology scope for
example, you might use this method and pass "technology-keys" as
the propertyName
and the list of technology keys as values
.
When written to the log file, the output will look like:
<hash n="event-properties"> <list n="technology-keys"> <string v="Java"/> <string v="Swing/AWT"/> <string v="Ant"/> <string v="JavaBeans"/> </list> </hash>Or, if there is only a single technology key, like this:
<hash n="event-properties"> <list n="technology-keys"> <string v="Java"/> </list> </hash>Note: The value passed to
propertyName
is not intended to
be any value you like, it is expected to be something agreed upon by
Product Management, to facilitate processing of the collected data.propertyName
- the property name; must not be nullvalues
- a collection of string objects; must not be nullsetProperty(String, String)
public final void setProperties(HashStructure propertyHash)
We must ensure that usage logs can be accurately processed. Coordinate
with Product Management to be sure that propertyHash
contains
the necessary data and is correctly structured.
propertyHash
- a HashStructure object; must not be nullsetProperty(String, String)
,
#setProperty(String, Collection)
@Deprecated public final void setUsageTimeStamp(java.lang.Long time)
@Deprecated public final void setUsageType(java.lang.String usageType)
setEventSource(java.lang.String)
@Deprecated public final void setExtensionId(java.lang.String extensionProductId)
setEventId(java.lang.String)
@Deprecated public final void setPropertyId(java.lang.String propertyId)
setProperty(String, String)
,
#setProperty(String, Collection)
or
setProperties(HashStructure)
@Deprecated public final void setPropertyValue(java.lang.String propertyValue)
setProperty(String, String)
,
#setProperty(String, Collection)
or
setProperties(HashStructure)