/******************************************************************************* * 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.tables; /** * Flags used for tables, columns etc. * @author Phil * */ public interface TableFlags { /** * Flag indicating a column should be treated as a batch key */ public static final long FLAG_IS_BATCH_KEY = 1 << 1; /** * Flag indicating a table or column is optional and not * necessarily needed by a component. */ public static final long FLAG_IS_OPTIONAL = 1 << 0; /** * Flag indicating that a column is read-only (typically generated by a formula) or a row (linked data) */ public static final long FLAG_IS_READ_ONLY = 1 << 3; /** * Flag indicate the column is used as a key field in the reports to * connect a master and subreport. */ public static final long FLAG_IS_REPORT_KEYFIELD = 1<<4; /** * Flag indicating the field is used in a group-by query */ public static final long FLAG_IS_GROUP_BY_FIELD = 1<<5; // /** // * Flag indicating a table required in the input to a component can take any name // */ // public static final long FLAG_TABLE_TAKES_ANY_NAME = 1<<6; /** * Can values in the table be set? */ public static final long UI_SET_ALLOWED = 1<<7; /** * Can rows be inserted into the table? */ public static final long UI_INSERT_ALLOWED = 1<<8; /** * Can rows be deleted from the table? */ public static final long UI_DELETE_ALLOWED = 1<<9; /** * Can rows be moved in the table? */ public static final long UI_MOVE_ALLOWED = 1<<10; public static final long UI_SET_INSERT_DELETE_PERMISSION_FLAGS = UI_SET_ALLOWED|UI_INSERT_ALLOWED|UI_DELETE_ALLOWED; public static final long UI_EDIT_PERMISSION_FLAGS = UI_SET_INSERT_DELETE_PERMISSION_FLAGS|UI_MOVE_ALLOWED; /** * Set if a column should *not* be indexed. Columns are indexed * by default in the in-memory datastore. */ public static final long FLAG_COLUMN_NOT_INDEXED = 1<<11; /** * Is the row selected in a user interface map? */ public static final long FLAG_ROW_SELECTED_IN_MAP = 1<<12; /** * A flag on the datastore indicating it can take any tables */ public static final long FLAG_TABLE_WILDCARD = 1<<13; /** * A flag on a table indicating it can take any fields. */ public static final long FLAG_COLUMN_WILDCARD = 1<<14; /** * Flag indicating a datastore goes into the reporter component. */ public static final long FLAG_IS_REPORTER_INPUT = 1<<15; /** * Flag indicating the datastore or table is drawable */ public static final long FLAG_IS_DRAWABLES = 1<<16; /** * Flag indicating the table can take any name going into a component */ public static final long FLAG_TABLE_NAME_WILDCARD = 1<<17; /** * Flag indicating the table name going into a component should be the * original table name, not the destination table name */ public static final long FLAG_TABLE_NAME_USE_SOURCE = 1<<18; public static final long FLAG_LINKED_EXCEL_READ_ONLY_DATA = 1<<19; public static final long FLAG_LINKED_EXCEL_CREATED_TABLE = 1<<20; public static final long FLAG_LINKED_EXCEL_INCLUDED_TABLE = 1<<21; public static final long ALL_LINKED_EXCEL_FLAGS = FLAG_LINKED_EXCEL_READ_ONLY_DATA|FLAG_LINKED_EXCEL_CREATED_TABLE|FLAG_LINKED_EXCEL_INCLUDED_TABLE; public static final long ROW_FLAGS_PRESERVED_IN_UNDO_REDO = ALL_LINKED_EXCEL_FLAGS; }