blob: 6e1854cffd28940890b3e3a2a741f6c2a43e38c5 [file] [log] [blame]
////////////////////////////////////////////////////////////////////////////////
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You 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.
//
////////////////////////////////////////////////////////////////////////////////
package mx.automation.codec
{
import flash.filesystem.File;
import mx.automation.IAutomationManager;
import mx.automation.IAutomationObject;
import mx.automation.tool.IToolPropertyDescriptor;
/**
* Translates between internal Flex color and automation-friendly version
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public class FilePropertyCodec extends DefaultPropertyCodec
{
/**
* Constructor
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public function FilePropertyCodec()
{
super();
}
/**
* @private
*/
override public function encode(automationManager:IAutomationManager,
obj:Object,
propertyDescriptor:IToolPropertyDescriptor,
relativeParent:IAutomationObject):Object
{
var val:Object = getMemberFromObject(automationManager, obj, propertyDescriptor);
var encodedFileString:String = "";
if (val != null)
{
if (val is File)
{
encodedFileString = (val as File).nativePath;
}
}
return encodedFileString;
}
/**
* @private
*/
override public function decode(automationManager:IAutomationManager,
obj:Object,
value:Object,
propertyDescriptor:IToolPropertyDescriptor,
relativeParent:IAutomationObject):void
{
var fileObj:File = new File();
fileObj = fileObj.resolvePath(value as String);
obj[propertyDescriptor.name] = fileObj;
}
}
}