/*
* JBoss, Home of Professional Open Source.
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership. Some portions may be licensed
* to Red Hat, Inc. under one or more contributor license agreements.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*/
package org.teiid.metadata.index;
/**
* IndexConstants
*/
public class IndexConstants {
//############################################################################################################################
//# Constants #
//############################################################################################################################
public final static String INDEX_EXT = "INDEX"; //$NON-NLS-1$
public final static String SEARCH_INDEX_EXT = "SEARCH_INDEX"; //$NON-NLS-1$
public static final String EXTENSION_CHAR = "."; //$NON-NLS-1$
public final static char NAME_DELIM_CHAR = '.';
//Search Record type Constants
public static class SEARCH_RECORD_TYPE {
public final static char RESOURCE = 'A';
public final static char MODEL_IMPORT = 'B';
public final static char OBJECT = 'C';
public final static char OBJECT_REF = 'D';
public final static char RELATIONSHIP = 'E';
public final static char RELATED_OBJECT = 'F';
public final static char RELATIONSHIP_TYPE = 'G';
public final static char RELATIONSHIP_ROLE = 'H';
public final static char TYPED_OBJECT = 'I';
public final static char ANNOTATION = 'J';
}
public static final char[] SEARCH_RECORD_TYPES = new char[]{
SEARCH_RECORD_TYPE.RESOURCE,
SEARCH_RECORD_TYPE.MODEL_IMPORT,
SEARCH_RECORD_TYPE.OBJECT,
SEARCH_RECORD_TYPE.OBJECT_REF,
SEARCH_RECORD_TYPE.RELATIONSHIP,
SEARCH_RECORD_TYPE.RELATED_OBJECT,
SEARCH_RECORD_TYPE.RELATIONSHIP_TYPE,
SEARCH_RECORD_TYPE.RELATIONSHIP_ROLE,
SEARCH_RECORD_TYPE.TYPED_OBJECT,
SEARCH_RECORD_TYPE.ANNOTATION
};
public static final char[] RECORD_TYPES = new char[]{
MetadataConstants.RECORD_TYPE.MODEL,
MetadataConstants.RECORD_TYPE.TABLE,
MetadataConstants.RECORD_TYPE.RESULT_SET,
MetadataConstants.RECORD_TYPE.JOIN_DESCRIPTOR,
MetadataConstants.RECORD_TYPE.CALLABLE,
MetadataConstants.RECORD_TYPE.CALLABLE_PARAMETER,
MetadataConstants.RECORD_TYPE.COLUMN,
MetadataConstants.RECORD_TYPE.ACCESS_PATTERN,
MetadataConstants.RECORD_TYPE.UNIQUE_KEY,
MetadataConstants.RECORD_TYPE.FOREIGN_KEY,
MetadataConstants.RECORD_TYPE.PRIMARY_KEY,
MetadataConstants.RECORD_TYPE.INDEX,
MetadataConstants.RECORD_TYPE.DATATYPE,
//RECORD_TYPE.DATATYPE_ELEMENT,
//RECORD_TYPE.DATATYPE_FACET,
MetadataConstants.RECORD_TYPE.SELECT_TRANSFORM,
MetadataConstants.RECORD_TYPE.INSERT_TRANSFORM,
MetadataConstants.RECORD_TYPE.UPDATE_TRANSFORM,
MetadataConstants.RECORD_TYPE.DELETE_TRANSFORM,
MetadataConstants.RECORD_TYPE.PROC_TRANSFORM,
MetadataConstants.RECORD_TYPE.MAPPING_TRANSFORM,
MetadataConstants.RECORD_TYPE.VDB_ARCHIVE,
MetadataConstants.RECORD_TYPE.ANNOTATION,
MetadataConstants.RECORD_TYPE.PROPERTY,
MetadataConstants.RECORD_TYPE.FILE,
MetadataConstants.RECORD_TYPE.RECORD_CONTINUATION
};
public static class RECORD_STRING {
public final static char TRUE = '1';
public final static char FALSE = '0';
public final static char SPACE = ' ';
// The record delimiter is the character used to delineate the fields of an index record.
// Since a field in our index records may represent a description, sql string, or xml/html text
// a delimiter was chosen that will never be present in typed text.
public final static char RECORD_DELIMITER = '\u00A0'; // separator between data values (ASCII no-break space)
// public final static char RECORD_DELIMITER = '|'; // separator between data values
// Fix for defect 13393
public final static char LIST_DELIMITER_OLD = ','; // separator used when the data value is a list
public final static char PROP_DELIMITER_OLD = '='; // separator used to seperate prop-value pairs
public final static char LIST_DELIMITER = '\u001F'; // separator used when the data value is a list (ASCII unit separator)
public final static char PROP_DELIMITER = '\u2060'; // separator used to seperate prop-value pairs (ASCII word joiner)
public final static char MATCH_CHAR = '*'; // wild card that may match one or more characters
public final static char SINGLE_CHAR_MATCH = '?'; // match a single character
public final static String MATCH_CHAR_STRING = (new Character(MATCH_CHAR)).toString(); // wild card that may match one or more characters
public final static String SINGLE_CHAR_MATCH_STRING = (new Character(SINGLE_CHAR_MATCH)).toString(); // match a single character
public final static char INDEX_VERSION_MARKER = '\u00A1'; // marker to indicate index version information (ASCII inverted exclamation mark)
}
}