All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hcl.domino.data.FormulaAnalyzeResult Maven / Gradle / Ivy

There is a newer version: 1.41.0
Show newest version
/*
 * ==========================================================================
 * 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