/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package models.properties;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public interface PropertyPage {
/**
* Gets the name of the property page.
*
* @return the name of the property page.
*/
public String getName();
/**
* Gets the label of the property page.
*
* @return the label of the page.
*/
public String getLabel();
/**
* Gets the name of the template to render this page.
*
* @return the render template name.
*/
public String getRenderTemplate();
/**
* Gets the properties to display on the property page.
*
* @return the properties.
*/
public List<Property> getProperties();
/**
* Validates the properties on the page.
*
* @param values
* the values to validate.
*/
public void validate(Map<String, String> values);
/**
* Determines if there are any validation errors for the properties on this page.
*
* @return true if there are errors on the page.
*/
public boolean hasErrors();
/**
* Gets the values that have been updated.
*
* @param values
* the values.
* @return the map of updated values.
*/
public Map<String, String> getUpdatedValues(Map<String, String> values);
/**
* Determines if any of the properties named require a reboot.
*
* @param keys Keys to check if they require a reboot
* @return true if reboot is required, false otherwise.
*/
public boolean isRebootRequired(Collection<String> keys);
}