/*
*
* 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 org.apache.flex.swc;
/**
* Version information of a SWC in catalog.xml file.
*/
public class SWCVersion implements ISWCVersion
{
private String swcVersion;
private String flexVersion;
private String flexBuild;
private String flexMinSupportedVersion;
private int flexMinSupportedVersionInt;
private String compilerName;
private String compilerVersion;
private String compilerBuild;
/**
* @return the swcVersion
*/
@Override
public String getSWCVersion()
{
return swcVersion;
}
/**
* @param swcVersion the swcVersion to set
*/
@Override
public void setSWCVersion(String swcVersion)
{
this.swcVersion = swcVersion;
}
/**
* @return the flexVersion
*/
@Override
public String getFlexVersion()
{
return flexVersion;
}
/**
* @param flexVersion the flexVersion to set
*/
@Override
public void setFlexVersion(String flexVersion)
{
this.flexVersion = flexVersion;
}
/**
* @return the flexBuild
*/
@Override
public String getFlexBuild()
{
return flexBuild;
}
/**
* @param flexBuild the flexBuild to set
*/
@Override
public void setFlexBuild(String flexBuild)
{
this.flexBuild = flexBuild;
}
/**
* @return the flexMinSupportedVersion
*/
@Override
public String getFlexMinSupportedVersion()
{
return flexMinSupportedVersion;
}
/**
* @param flexMinSupportedVersion the flexMinSupportedVersion to set
*/
@Override
public void setFlexMinSupportedVersion(String flexMinSupportedVersion)
{
this.flexMinSupportedVersion = flexMinSupportedVersion;
this.flexMinSupportedVersionInt = flexVersionStringToInt(flexMinSupportedVersion);
}
@Override
public int getFlexMinSupportedVersionInt()
{
return this.flexMinSupportedVersionInt;
}
/**
* Convert a flex version String to an integer.
*
* @param versionString
* @return The string as a version. -1 if versionString is null.
*
*/
private static int flexVersionStringToInt(final String versionString)
{
if (versionString == null)
return -1;
String results[] = versionString.split("\\.");
int major = 0;
int minor = 0;
int revision = 0;
assert results.length < 4;
int n = results.length;
for (int i = 0; i < n; i++)
{
if (i == 0)
major = Integer.parseInt(results[0]);
else if (i == 1)
minor = Integer.parseInt(results[1]);
else if (i == 2)
revision = Integer.parseInt(results[2]);
}
int version = (major << 24) + (minor << 16) + revision;
return version;
}
@Override
public String getCompilerName()
{
return compilerName;
}
@Override
public void setCompilerName(String value)
{
compilerName = value;
}
@Override
public String getCompilerVersion()
{
return compilerVersion;
}
@Override
public void setCompilerVersion(String value)
{
compilerVersion = value;
}
@Override
public String getCompilerBuild()
{
return compilerBuild;
}
@Override
public void setCompilerBuild(String value)
{
compilerBuild = value;
}
}