com.hcl.domino.data.FormulaAnalyzeResult Maven / Gradle / Ivy
/*
* ==========================================================================
* Copyright (C) 2019-2022 HCL America, Inc. ( http://www.hcl.com/ )
* All rights reserved.
* ==========================================================================
* Licensed under the Apache License, Version 2.0 (the "License"). You may
* not use this file except in compliance with the License. You may obtain a
* copy of the License at .
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
* ==========================================================================
*/
package com.hcl.domino.data;
import java.util.Set;
import com.hcl.domino.misc.INumberEnum;
import com.hcl.domino.misc.NotesConstants;
/**
* Contains the result of a formula analysis
*/
public interface FormulaAnalyzeResult {
enum FormulaAttributes implements INumberEnum{
/** TRUE if formula is completely self-contained, and uses only constants.
* That is, it doesn't have to be re-executed for each note, for example. */
CONSTANT(NotesConstants.FA_CONSTANT),
/** TRUE if formula uses @ functions which are based on the current clock time
* (and therefore, may produce a different result depending on when you execute it). */
TIME_VARIANT(NotesConstants.FA_TIME_VARIANT),
/** TRUE if formula is simply a reference to a single field name, and nothing else.
* (If so, we could use the expression as a column title, for example). */
ONLY_FIELD_NAME(NotesConstants.FA_ONLY_FIELD_NAME),
/** contains @DocSiblings
*/
FUNC_SIBLINGS(NotesConstants.FA_FUNC_SIBLINGS),
/** contains @DocChildren
*/
FUNC_CHILDREN(NotesConstants.FA_FUNC_CHILDREN),
/** TRUE if @DocDescendants
used */
FUNC_DESCENDANTS(NotesConstants.FA_FUNC_DESCENDANTS),
/** TRUE if @AllChildren
used */
FUNC_ALLCHILDREN(NotesConstants.FA_FUNC_ALLCHILDREN),
/** TRUE if @AllDescendants
used */
FUNC_ALLDESCENDANTS(NotesConstants.FA_FUNC_ALLDESCENDANTS),
/** TRUE if formula only contains SELECT @all
*/
ONLY_SELECTALL(NotesConstants.FA_ONLY_SELECTALL),
/** TRUE if formula is composed of a single @Command
expression or single @URLOpen
* with or without a single @SetTargetFrame
(with possibly a single @All).
* There can be no item references. */
ONLY_CONST_COMMAND_AND_SETTARGETFRAME(NotesConstants.FA_ONLY_CONST_COMMAND_AND_SETTARGETFRAME),
/** TRUE if @SetTargetFrame
used. */
FUNC_SETTARGETFRAME(NotesConstants.FA_FUNC_SETTARGETFRAME);
private final int value;
private FormulaAttributes(int value) {
this.value = value;
}
@Override
public long getLongValue() {
return value;
}
@Override
public Integer getValue() {
return value;
}
}
Set getAttributes();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy