chg: replaced ant with gradle
This commit is contained in:
parent
ced560f0c7
commit
7eebeee1d0
615 changed files with 87626 additions and 638 deletions
177
modules/jala/code/HopObject.js
Normal file
177
modules/jala/code/HopObject.js
Normal file
|
@ -0,0 +1,177 @@
|
|||
//
|
||||
// Jala Project [http://opensvn.csie.org/traccgi/jala]
|
||||
//
|
||||
// Copyright 2004 ORF Online und Teletext GmbH
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the ``License'');
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an ``AS IS'' BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// $Revision$
|
||||
// $LastChangedBy$
|
||||
// $LastChangedDate$
|
||||
// $HeadURL$
|
||||
//
|
||||
|
||||
/**
|
||||
* @fileoverview Additional fields and methods of the HopObject class.
|
||||
*/
|
||||
|
||||
/**
|
||||
* HelmaLib dependencies
|
||||
*/
|
||||
app.addRepository("modules/core/String.js");
|
||||
app.addRepository("modules/helma/File.js");
|
||||
|
||||
/**
|
||||
* Constructs a name from an object which
|
||||
* is unique in the underlying HopObject collection.
|
||||
* @param {Object} obj The object representing or containing
|
||||
* the alias name. Possible object types include:
|
||||
* <ul>
|
||||
* <li>File</li>
|
||||
* <li>helma.File</li>
|
||||
* <li>java.io.File</li>
|
||||
* <li>String</li>
|
||||
* <li>java.lang.String</li>
|
||||
* <li>Packages.helma.util.MimePart</li>
|
||||
* </ul>
|
||||
* @param {Number} maxLength The maximum length of the alias
|
||||
* @returns The resulting alias
|
||||
* @type String
|
||||
*/
|
||||
HopObject.prototype.getAccessName = function(obj, maxLength) {
|
||||
/**
|
||||
* Private method checking if the key passed as argument is already
|
||||
* existing in this object
|
||||
* @param {String} key The key string to test
|
||||
* @returns True in case the key is already in use, false otherwise
|
||||
* @type Boolean
|
||||
*/
|
||||
var isReserved = function(obj, key) {
|
||||
return key === "." ||
|
||||
key === ".." ||
|
||||
obj[key] != null ||
|
||||
obj[key + "_action"] != null ||
|
||||
obj.get(key) != null
|
||||
};
|
||||
|
||||
// prepare name depending on argument
|
||||
var name;
|
||||
var clazz = obj.constructor || obj.getClass();
|
||||
switch (clazz) {
|
||||
case File:
|
||||
case helma.File:
|
||||
case java.io.File:
|
||||
case Packages.helma.util.MimePart:
|
||||
// first fix bloody ie/win file paths containing backslashes
|
||||
name = obj.getName().split(/[\\\/]/).pop();
|
||||
if (name.contains("."))
|
||||
name = name.substring(0, name.lastIndexOf("."));
|
||||
break;
|
||||
case String:
|
||||
case java.lang.String:
|
||||
name = obj;
|
||||
break;
|
||||
default:
|
||||
name = obj.toString();
|
||||
}
|
||||
|
||||
// remove all (back)slashes
|
||||
var accessName = name.replace(/[\\\/]/g, "");
|
||||
// remove all plus signs
|
||||
accessName = accessName.replace("+","");
|
||||
if (accessName.length > maxLength) {
|
||||
accessName = accessName.substring(0, maxLength);
|
||||
}
|
||||
var result = accessName;
|
||||
if (isReserved(this, result)) {
|
||||
var len = result.length;
|
||||
var counter = 1;
|
||||
var overflow;
|
||||
while (isReserved(this, result)) {
|
||||
result = accessName + "-" + counter.toString();
|
||||
if ((overflow = result.length - maxLength) > 0) {
|
||||
result = accessName.substring(0, accessName.length - overflow) +
|
||||
"-" + counter.toString();
|
||||
if (result.length > maxLength) {
|
||||
throw "Unable to create accessname due to limit restriction";
|
||||
}
|
||||
}
|
||||
counter += 1;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the internal state of this HopObject is TRANSIENT.
|
||||
* @returns True if this HopObject is marked as <em>transient</em>, false otherwise.
|
||||
* @type Boolean
|
||||
*/
|
||||
HopObject.prototype.isTransient = function() {
|
||||
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.TRANSIENT;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns true if the internal state of this HopObject is VIRTUAL.
|
||||
* @returns True if this HopObject is marked as <em>virtual</em>, false otherwise.
|
||||
* @type Boolean
|
||||
*/
|
||||
HopObject.prototype.isVirtual = function() {
|
||||
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.VIRTUAL;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns true if the internal state of this HopObject is INVALID.
|
||||
* @returns True if this HopObject is marked as <em>invalid</em>, false otherwise.
|
||||
* @type Boolean
|
||||
*/
|
||||
HopObject.prototype.isInvalid = function() {
|
||||
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.INVALID;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns true if the internal state of this HopObject is CLEAN.
|
||||
* @returns True if this HopObject is marked as <em>clean</em>, false otherwise.
|
||||
* @type Boolean
|
||||
*/
|
||||
HopObject.prototype.isClean = function() {
|
||||
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.CLEAN;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns true if the internal state of this HopObject is NEW.
|
||||
* @returns True if this HopObject is marked as <em>new</em>, false otherwise.
|
||||
* @type Boolean
|
||||
*/
|
||||
HopObject.prototype.isNew = function() {
|
||||
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.NEW;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns true if the internal state of this HopObject is MODIFIED.
|
||||
* @returns True if this HopObject is marked as <em>modified</em>, false otherwise.
|
||||
* @type Boolean
|
||||
*/
|
||||
HopObject.prototype.isModified = function() {
|
||||
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.MODIFIED;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns true if the internal state of this HopObject is DELETED.
|
||||
* @returns True if this HopObject is marked as <em>deleted</em>, false otherwise.
|
||||
* @type Boolean
|
||||
*/
|
||||
HopObject.prototype.isDeleted = function() {
|
||||
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.DELETED;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue