2 * Copyright (C) 2007-2012 Mathieu Baudier
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org
.argeo
.slc
.core
.execution
;
20 import org
.springframework
.beans
.factory
.FactoryBean
;
21 import org
.springframework
.core
.io
.Resource
;
22 import org
.springframework
.util
.Assert
;
24 /** Retrieve an OS File from the given resource. */
25 public class OsFileFactoryBean
implements FactoryBean
{
26 private ExecutionResources executionResources
;
27 private Resource resource
;
28 private Boolean overwrite
= false;
30 /** Return an existing file on the file system. */
31 public Object
getObject() throws Exception
{
32 Assert
.notNull(executionResources
, "executionResources is null");
33 Assert
.notNull(resource
, "resource is null");
34 return executionResources
.getAsOsPath(resource
, overwrite
);
37 /** Return {@link Object} because CGLIB is unable to proxy {@link File}.*/
38 public Class
<?
extends Object
> getObjectType() {
39 return CharSequence
.class;
42 public boolean isSingleton() {
46 /** The execution resources object. */
47 public void setExecutionResources(ExecutionResources executionResources
) {
48 this.executionResources
= executionResources
;
51 /** The resource to access. */
52 public void setResource(Resource resource
) {
53 this.resource
= resource
;
57 * Whether to overwrite the resource if it already exists. Default is
60 public void setOverwrite(Boolean overwrite
) {
61 this.overwrite
= overwrite
;