mirror of
https://github.com/apache/poi.git
synced 2026-02-27 20:40:08 +08:00
119 lines
3.6 KiB
Java
119 lines
3.6 KiB
Java
|
|
/* ====================================================================
|
||
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||
|
|
contributor license agreements. See the NOTICE file distributed with
|
||
|
|
this work for additional information regarding copyright ownership.
|
||
|
|
The ASF licenses this file to You 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
|
||
|
|
|
||
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
|
||
|
|
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 org.apache.poi.ss.usermodel;
|
||
|
|
|
||
|
|
|
||
|
|
public interface DataValidationConstraint {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @return data validation type of this constraint
|
||
|
|
* @see ValidationType
|
||
|
|
*/
|
||
|
|
public abstract int getValidationType();
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @return the operator used for this constraint
|
||
|
|
* @see OperatorType
|
||
|
|
*/
|
||
|
|
public abstract int getOperator();
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Sets the comparison operator for this constraint
|
||
|
|
* @see OperatorType
|
||
|
|
*/
|
||
|
|
public abstract void setOperator(int operator);
|
||
|
|
|
||
|
|
public abstract String[] getExplicitListValues();
|
||
|
|
|
||
|
|
public abstract void setExplicitListValues(String[] explicitListValues);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @return the formula for expression 1. May be <code>null</code>
|
||
|
|
*/
|
||
|
|
public abstract String getFormula1();
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Sets a formula for expression 1.
|
||
|
|
*/
|
||
|
|
public abstract void setFormula1(String formula1);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @return the formula for expression 2. May be <code>null</code>
|
||
|
|
*/
|
||
|
|
public abstract String getFormula2();
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Sets a formula for expression 2.
|
||
|
|
*/
|
||
|
|
public abstract void setFormula2(String formula2);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* ValidationType enum
|
||
|
|
*/
|
||
|
|
public static final class ValidationType {
|
||
|
|
private ValidationType() {
|
||
|
|
// no instances of this class
|
||
|
|
}
|
||
|
|
/** 'Any value' type - value not restricted */
|
||
|
|
public static final int ANY = 0x00;
|
||
|
|
/** Integer ('Whole number') type */
|
||
|
|
public static final int INTEGER = 0x01;
|
||
|
|
/** Decimal type */
|
||
|
|
public static final int DECIMAL = 0x02;
|
||
|
|
/** List type ( combo box type ) */
|
||
|
|
public static final int LIST = 0x03;
|
||
|
|
/** Date type */
|
||
|
|
public static final int DATE = 0x04;
|
||
|
|
/** Time type */
|
||
|
|
public static final int TIME = 0x05;
|
||
|
|
/** String length type */
|
||
|
|
public static final int TEXT_LENGTH = 0x06;
|
||
|
|
/** Formula ( 'Custom' ) type */
|
||
|
|
public static final int FORMULA = 0x07;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Condition operator enum
|
||
|
|
*/
|
||
|
|
public static final class OperatorType {
|
||
|
|
private OperatorType() {
|
||
|
|
// no instances of this class
|
||
|
|
}
|
||
|
|
|
||
|
|
public static final int BETWEEN = 0x00;
|
||
|
|
public static final int NOT_BETWEEN = 0x01;
|
||
|
|
public static final int EQUAL = 0x02;
|
||
|
|
public static final int NOT_EQUAL = 0x03;
|
||
|
|
public static final int GREATER_THAN = 0x04;
|
||
|
|
public static final int LESS_THAN = 0x05;
|
||
|
|
public static final int GREATER_OR_EQUAL = 0x06;
|
||
|
|
public static final int LESS_OR_EQUAL = 0x07;
|
||
|
|
/** default value to supply when the operator type is not used */
|
||
|
|
public static final int IGNORED = BETWEEN;
|
||
|
|
|
||
|
|
/* package */ public static void validateSecondArg(int comparisonOperator, String paramValue) {
|
||
|
|
switch (comparisonOperator) {
|
||
|
|
case BETWEEN:
|
||
|
|
case NOT_BETWEEN:
|
||
|
|
if (paramValue == null) {
|
||
|
|
throw new IllegalArgumentException("expr2 must be supplied for 'between' comparisons");
|
||
|
|
}
|
||
|
|
// all other operators don't need second arg
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|