/*******************************************************************************
* Copyright (c) 2014 Open Door Logistics (www.opendoorlogistics.com)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at http://www.gnu.org/licenses/lgpl.txt
******************************************************************************/
package com.opendoorlogistics.api.standardcomponents;
import com.opendoorlogistics.api.components.ODLComponent;
public interface ScheduleEditor extends ODLComponent {
enum EditorTable {
TASKS(TaskField.class), RESOURCE_TYPES(ResourceTypeField.class), TASK_ORDER(OrderField.class), RESOURCE_DESCRIPTIONS(ResourceDescriptionField.class);
private final Class<? extends Enum<?>> fieldsClass;
private EditorTable(Class<? extends Enum<?>> fieldsClass) {
this.fieldsClass = fieldsClass;
}
public Class<? extends Enum<?>> getFieldsClass() {
return fieldsClass;
}
}
enum TaskField {
ID, NAME
}
enum ResourceTypeField {
ID, NAME, RESOURCE_COUNT
}
enum OrderField {
RESOURCE_ID, TASK_ID,COLOUR
}
enum ResourceDescriptionField{
RESOURCE_ID, DESCRIPTION
}
String getTableName(EditorTable table);
String getFieldName(EditorTable table, Enum<?> field);
}