/**
* Copyright (c) 2014, Oracle and/or its affiliates.
* All rights reserved.
*/
/**
* Converter Contract
*/
/**
* Constructs an immutable instance of Converter.
*
* @param {Object=} options an object literal used to provide an optional information to
* initialize the converter.<p>
* @export
* @constructor
* @since 0.6
*/
oj.Converter = function(options)
{
this.Init(options);
};
// Subclass from oj.Object
oj.Object.createSubclass(oj.Converter, oj.Object, "oj.Converter");
/**
* Initializes converter instance with the set options
* @param {Object=} options an object literal used to provide an optional information to
* initialize the converter.<p>
* @export
*/
oj.Converter.prototype.Init = function(options)
{
oj.Converter.superclass.Init.call(this);
// should we make options truly immutable? non-configurable, non-enumerable, non-writable
// Object.defineProperty(oj.Converter.prototype, "_options", {value: options});
this._options = options;
};
/**
* Returns a hint that describes the converter format expected.
* @return {String|null} a hint describing the format the value is expected to be in.
* @export
*/
oj.Converter.prototype.getHint = function ()
{
oj.Assert.failedInAbstractFunction();
return null;
};
/**
* Returns the options called with converter initialization.
* @return {Object} an object of options.
* @export
*/
oj.Converter.prototype.getOptions = function ()
{
return (this._options || {});
};
/**
* Parses a String value using the options provided.
*
* @param {String} value to parse
* @return {(Number|Date)} the parsed value.
* @throws {Error} if parsing fails
* @export
*/
oj.Converter.prototype.parse = function (value)
{
oj.Assert.failedInAbstractFunction();
return null;
};
/**
* Formats the value using the options provided.
*
* @param {(Number|Date)} value the value to be formatted for display
* @return {(String|null)} the localized and formatted value suitable for display
* @throws {Error} if formatting fails.
* @export
*/
oj.Converter.prototype.format = function (value)
{
oj.Assert.failedInAbstractFunction();
return null;
};
/**
* Returns an object literal with locale and formatting options computed during initialization of
* the object. If options was not provided at the time of initialization, the properties will be
* derived from the locale defaults.
* @return {Object} an object of resolved options.
* @export
*/
oj.Converter.prototype.resolvedOptions = function ()
{
var resolved = {};
// returns a clone of this._options
$.extend(resolved, this._options);
return resolved;
};
// oj.ConverterError
/**
* Constructs a ConverterError instance from a summary and detail
*
* @param {string} summary a localized String that provides a summary of the error
* @param {string} detail a localized String that provides a detail of the error
* @constructor
* @export
*/
oj.ConverterError = function (summary, detail)
{
var message = new oj.Message(summary, detail, oj.Message.SEVERITY_LEVEL['ERROR']);
this.Init(message);
};
oj.ConverterError.prototype = new Error();
/**
* Initializes the instance.
* @param {Object} message instance of oj.Message
* @export
*/
oj.ConverterError.prototype.Init = function (message)
{
var detail = message['detail'], summary = message['summary'];
this._message = message;
// so browser can get to e.name and e.message
this.name = 'Converter Error';
this.message = detail || summary;
};
/**
* Returns an instance of oj.Message.
*
* @return {Object} instance of oj.Message
* @export
*/
oj.ConverterError.prototype.getMessage = function ()
{
return this._message;
};
Source: src/main/javascript/oracle/oj/ojvalidation/Converter.js
Oracle® JavaScript Extension Toolkit (JET)
1.1.2
E65298-01