constraint_contains.java

来自「SRI international 发布的OAA框架软件」· Java 代码 · 共 57 行

JAVA
57
字号
/*
#=========================================================================
# Copyright 2003 SRI International.  All rights reserved.
#
# The material contained in this file is confidential and proprietary to SRI
# International and may not be reproduced, published, or disclosed to others
# without authorization from SRI International.
#
# DISCLAIMER OF WARRANTIES
#
# SRI International MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE
# SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
# LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SRI International SHALL NOT BE
# LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
# OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
#=========================================================================
  Author : shardt
  Date: Aug 11, 2003
*/
package com.sri.oaa2.tools.oaatest;

import org.xml.sax.*;
import com.sri.oaa2.icl.*;
import antlr_oaa.*;
import java.util.*;


class Constraint_contains extends Constraint {
  protected Constraint_contains(Attributes attribs,Locator loc) throws ParseException {
    super(attribs,loc);

    try {
      value = new IclTermWrapper(IclTerm.fromString(getAttribute(attribs,"value",loc)));
    }
    catch (ANTLRException e) {
      throw new ParseException("<contains> value attribute must be an ICL term",loc);
    }
  }
  
  /** Check that actual is an IclList that contains this.value */
  protected boolean checkValue(IclTerm actual) {
    List wrapActual = wrapIclList(actual);
    if (wrapActual == null) {
      return false;
    }

    return wrapActual.contains(value);
  }
  
  public String toString() {
    return "contains(" + getVar().toString() + ',' + value + ')'; 
  }
  
  private IclTermWrapper value;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?