alfresco-community-repo/source/java/org/alfresco/repo/jscript/BaseScopableScriptImplementation.java
Kevin Roast 9323a8cd7a Template extension spring configuration support
- similar pattern to existing script bean extension support
 - new root model helper objects and custom methods can be added via spring configuration
Cleanup of script extension spring support
Fix to thread safety of configured script extension beans that use the Scopable interface

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5369 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-03-09 12:30:34 +00:00

50 lines
1.4 KiB
Java

/*
* Copyright (C) 2005 Alfresco, Inc.
*
* Licensed under the Mozilla Public License version 1.1
* with a permitted attribution clause. You may obtain a
* copy of the License at
*
* http://www.alfresco.org/legal/license.txt
*
* 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.
*/
package org.alfresco.repo.jscript;
import org.mozilla.javascript.Scriptable;
/**
* Abstract base class for a script implementation that requires a script execution scope.
*
* The scope is local to the currently executing script and therefore a ThreadLocal is required.
*
* @author Kevin Roast
*/
public class BaseScopableScriptImplementation extends BaseScriptImplementation implements Scopeable
{
private static ThreadLocal<Scriptable> scope = new ThreadLocal<Scriptable>();
/**
* Set the Scriptable global scope
*
* @param script relative global scope
*/
public void setScope(Scriptable scope)
{
this.scope.set(scope);
}
/**
* @return script global scope
*/
public Scriptable getScope()
{
return this.scope.get();
}
}