blob: b13215cdf26d7fde525d6dcf737b60398e243103 [file] [log] [blame]
/*
* Copyright (C) 2012 The Android Open Source Project
*
* 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.
*/
package com.motorolamobility.preflighting.core.checker;
import com.motorolamobility.preflighting.core.PreflightingCorePlugin;
import com.motorolamobility.preflighting.core.internal.checkerparameter.CheckerParameterElement;
import com.motorolamobility.preflighting.core.internal.conditions.ConditionElement;
/**
* Bean class representing a checker extension.
*/
public final class CheckerExtension
{
public static final String CHECKER_EXTENSION_POINT_ID = PreflightingCorePlugin.PLUGIN_ID
+ ".checker"; //$NON-NLS-1$
public static final String CHECKER_EXTENSION_POINT_ELEMENT_CHECKER = "checker"; //$NON-NLS-1$
public static final String CHECKER_EXTENSION_POINT_ATTRIBUTE_ID = "id"; //$NON-NLS-1$
public static final String CHECKER_EXTENSION_POINT_ATTRIBUTE_NAME = "name"; //$NON-NLS-1$
public static final String CHECKER_EXTENSION_POINT_ATTRIBUTE_DESCRIPTION = "description"; //$NON-NLS-1$
public static final String CHECKER_EXTENSION_POINT_ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
private final String id;
private final String name;
private final String description;
private final IChecker checker;
private ConditionElement[] conditions;
private CheckerParameterElement[] conditionParameters;
/**
* Creates a new checker extension object.
*
* @param id Checker id.
* @param name Checker name.
* @param description Checker description.
* @param checker Checker object.
*/
public CheckerExtension(String id, String name, String description, IChecker checker)
{
this.id = id;
this.name = name;
this.description = description;
this.checker = checker;
}
/**
* @return the checker id.
*/
public String getId()
{
return id;
}
/**
* @return the checker name.
*/
public String getName()
{
return name;
}
/**
* @return the checker description.
*/
public String getDescription()
{
return description;
}
/**
* @return the checker object.
*/
public IChecker getChecker()
{
return checker;
}
/**
* @return the checker conditions. If the checker has no conditions declared an empty array is returned.
*/
public ConditionElement[] getConditions()
{
return conditions != null ? conditions : new ConditionElement[0];
}
/**
* @param conditions Checker conditions to set.
*/
public void setConditions(ConditionElement[] conditions)
{
this.conditions = conditions;
}
/**
* Gets the list of Parameters for this Condition.
*
* @return Returns the list of Parameters for this Condition.
*/
public CheckerParameterElement[] getConditionParameters()
{
return this.conditionParameters;
}
/**
* Sets the list of Parameters for this Condition.
*
* @param conditionParameters This list of Parameters for this Condition.
*/
public void setConditionParameters(CheckerParameterElement[] conditionParameters)
{
this.conditionParameters = conditionParameters;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString()
{
return "CheckerExtension [id=" + id + ", name=" + name + ", description=" + description
+ ", checker=" + checker + "]";
}
}