8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The contents of this file are subject to the terms
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * of the Common Development and Distribution License
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * (the License). You may not use this file except in
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * compliance with the License.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * You can obtain a copy of the License at
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * opensso/legal/CDDLv1.0.txt
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * See the License for the specific language governing
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * permission and limitations under the License.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * When distributing Covered Code, include this CDDL
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Header Notice in each file and include the License file
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * at opensso/legal/CDDLv1.0.txt.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * If applicable, add the following below the CDDL Header,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * with the fields enclosed by brackets [] replaced by
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * your own identifying information:
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * $Id: LogQuery.java,v 1.4 2008/06/25 05:43:35 qcheng Exp $
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Portions Copyrighted [2011] [ForgeRock AS]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterpackage com.sun.identity.log;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport java.util.ArrayList;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * LogQuery defines the query format that the reader api supports.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * This class contains a list of individual query elements
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * and also stores information about whether all the query to
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * be satisfied or any one to be satisfied. It also allows
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * caller to set required number of most recent records and
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * to specify the <code>sortby</code> field name (optional).
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @supported.all.api
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterpublic class LogQuery {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * matching condition, values of globalOperand.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * All the queries to be applied successfully
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster static public final int MATCH_ALL_CONDITIONS = 1;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /* Any one of the query must be true */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster static public final int MATCH_ANY_CONDITION = 2;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * when maximum records asked
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Most recent maximum number of records to be collected.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Here maximum number will be as stored in the configuration.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster static public final int MOST_RECENT_MAX_RECORDS = -1;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * All the records that matches query criteria (if any)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * will be retrieved. Maximum number of records as configured
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * will be ignored.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster static public final int ALL_RECORDS = -2;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster // private attributes
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster private int maxRecord;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster private int globalOperand;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster private ArrayList queries; /* list of QueryElement object */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster private ArrayList columns; /* columns requested */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster private String sortBy;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Default constructor
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * It creates the new object and assigns space to them.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * It sets default values when applicable.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster **/
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public LogQuery() {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.maxRecord = LogQuery.MOST_RECENT_MAX_RECORDS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.globalOperand = LogQuery.MATCH_ANY_CONDITION;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.queries = null;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.columns = null;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.sortBy = null;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Customized constructor to set only <code>maxrecord</code>.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param max_record is maximum number of most recent records to be
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * returned.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public LogQuery(int max_record) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.maxRecord = max_record;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.globalOperand = LogQuery.MATCH_ANY_CONDITION;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.queries = null;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.columns = null;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.sortBy = null;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Customized constructor.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param max_Record the maximum number of most recent records
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * to be returned
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param matchCriteria whether all queries or any one to match.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param sortingBy <code>fieldname</code> on which records to be sorted.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws IllegalArgumentException if any of the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * <code>max_Record/matchCriteria</code> is not valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public LogQuery(int max_Record, int matchCriteria, String sortingBy)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster throws IllegalArgumentException {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if (max_Record < LogQuery.ALL_RECORDS) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster throw new IllegalArgumentException(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "max_Record should be greater than LogQuery.ALL_RECORDS");
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } else {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.maxRecord = max_Record;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if ((matchCriteria > LogQuery.MATCH_ANY_CONDITION) ||
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster (matchCriteria < LogQuery.MATCH_ALL_CONDITIONS))
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster throw new IllegalArgumentException(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "matchCriteria should be LogQuery.MATCH_ANY_CONDITION or " +
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "LogQuery.MATCH_ALL_CONDITIONS");
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } else {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.globalOperand = matchCriteria;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if (sortingBy != null) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.sortBy = sortingBy;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.queries = null;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.columns = null;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Sets the <code>globalOperand</code> field to either any query criteria
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * match or to match all the criteria.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param no the value to set to <code>globalOperand</code>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws IllegalArgumentException when parameter is passed as
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * neither all nor any match.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void setGlobalOperand (int no)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster throws IllegalArgumentException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if (no > LogQuery.MATCH_ANY_CONDITION) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster IllegalArgumentException ie = new IllegalArgumentException(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "parameter should be LogQuery.MATCH_ANY_CONDITION or " +
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "LogQuery.MATCH_ALL_CONDITIONS");
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster throw (ie);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } else if (no < LogQuery.MATCH_ALL_CONDITIONS) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster IllegalArgumentException ie = new IllegalArgumentException(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "parameter should be LogQuery.MATCH_ANY_CONDITION or " +
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "LogQuery.MATCH_ALL_CONDITIONS");
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster throw (ie);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.globalOperand = no;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /*
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Sets maxRecord i.e. maximum number of records to return to the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * user specified value.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * It checks whether it exceeds the configured maximum value or not.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param value the maximum number of records to return.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void setMaxRecord(int value) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if (value < LogQuery.ALL_RECORDS) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster return;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.maxRecord = value;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Adds a query element to the list present in <code>LogQuery</code>.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param qryElement the query to be added into the list
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void addQuery(QueryElement qryElement) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if (qryElement == null) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster return;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if (this.queries == null) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.queries = new ArrayList();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.queries.add(qryElement);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**Returns the full list of query
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return full list of query
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster **/
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public ArrayList getQueries() {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster return (this.queries);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /*
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns max number of records asked for.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return max number of records asked for.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public int getNumRecordsWanted() {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster return (this.maxRecord);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns the value of global operand set in the query.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return the value of global operand set in the query.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public int getGlobalOperand() {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster return (this.globalOperand);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Set the field name on which records to be sorted.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param fieldName field name on which records to be sorted.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void setSortingField(String fieldName) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if (fieldName == null) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster return;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.sortBy = fieldName;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns the field name on which records to be sorted.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return the field name on which records to be sorted.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public String getSortingField() {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster return (this.sortBy);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Set the columns to be selected. This applies to flatfile
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * logging also; means "fields", rather than "columns" then.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param columns to request.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void setColumns(ArrayList columns) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if ((columns == null) || (columns.isEmpty())) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster return;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster this.columns = columns;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns the table column names selected. This applies to flatfile
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * logging also; means "fields", rather than "columns" then.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return the ArrayList of columns specified.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public ArrayList getColumns() {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster return (this.columns);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}