org.apache.tika.metadata.Property.isMultiValuePermitted()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(8.3k)|赞(0)|评价(0)|浏览(88)

本文整理了Java中org.apache.tika.metadata.Property.isMultiValuePermitted()方法的一些代码示例,展示了Property.isMultiValuePermitted()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Property.isMultiValuePermitted()方法的具体详情如下:
包路径:org.apache.tika.metadata.Property
类名称:Property
方法名:isMultiValuePermitted

Property.isMultiValuePermitted介绍

[英]Is the PropertyType one which accepts multiple values?
[中]PropertyType是接受多个值的类型吗?

代码示例

代码示例来源:origin: apache/tika

/**
 * Is the PropertyType one which accepts multiple values?
 */
public boolean isMultiValuePermitted() {
  if (propertyType == PropertyType.BAG || propertyType == PropertyType.SEQ ||
    propertyType == PropertyType.ALT) {
    return true;
  } else if (propertyType == PropertyType.COMPOSITE) {
    // Base it on the primary property's behaviour
    return primaryProperty.isMultiValuePermitted();
  }
  return false;
}

代码示例来源:origin: apache/tika

@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
  Property prop = getProperty(uri, localName);
  if (prop != null) {
    if (prop.isMultiValuePermitted()) {
      metadata.add(prop, buffer.toString());
    } else {
      metadata.set(prop, buffer.toString());
    }
  }
  buffer.setLength(0);
}

代码示例来源:origin: apache/tika

@Override
  protected void addMetadata(String value) {
    LOG.trace("adding {}={}", name, value);
    if (targetProperty != null && targetProperty.isMultiValuePermitted()) {
      if ((value != null && value.length() > 0) || allowEmptyValues) {
        if (value == null || value.length() == 0 && allowEmptyValues) {
          value = "";
        }
        String[] previous = metadata.getValues(name);
        if (previous == null || !Arrays.asList(previous).contains(value) || allowDuplicateValues) {
          metadata.add(targetProperty, value);
        }
      }
    } else {
      super.addMetadata(value);
    }
  }
}

代码示例来源:origin: apache/tika

private void addMetadata(Metadata metadata, Property property, String value) {
  if (value != null) {
    String decoded = decode(value);
    if (property.isMultiValuePermitted() || metadata.get(property) == null) {
      metadata.add(property, decoded);
    }
    //silently skip adding property that already exists if multiple values are not permitted
  }
}

代码示例来源:origin: apache/tika

/**
 * It will set all simple and array properties that have QName keys in registered namespaces.
 *
 * @see org.apache.tika.metadata.Metadata#setAll(java.util.Properties)
 */
@Override
public void setAll(Properties properties) {
  @SuppressWarnings("unchecked")
  Enumeration<String> names = (Enumeration<String>) properties.propertyNames();
  while (names.hasMoreElements()) {
    String name = names.nextElement();
    Property property = Property.get( name );
    if (property == null) {
      throw new PropertyTypeException( "Unknown property: " + name );
    }
    String value = properties.getProperty( name );
    if (property.isMultiValuePermitted()) {
      this.set( property, new String[] { value } );
    }
    else {
      this.set( property, value );
    }
  }
}

代码示例来源:origin: apache/tika

if (!property.isMultiValuePermitted()) {
    return;
if (!property.isMultiValuePermitted()) {
  if (metadata.get(property) != null) {
    return;

代码示例来源:origin: apache/tika

cal.set(year, month - 1, day, hour, minute, 0);
  metadata.set(nextMetaData, cal.getTime());
} else if (nextMetaData.isMultiValuePermitted()) {
  metadata.add(nextMetaData, pendingBuffer.toString());
} else {

代码示例来源:origin: apache/tika

if (!previous.equals(value)) {
  if (property != null) {
   if (property.isMultiValuePermitted()) {
     metadata.add(property, value);
   } else {

代码示例来源:origin: org.apache.tika/tika-core

/**
 * Is the PropertyType one which accepts multiple values?
 */
public boolean isMultiValuePermitted() {
  if (propertyType == PropertyType.BAG || propertyType == PropertyType.SEQ ||
    propertyType == PropertyType.ALT) {
    return true;
  } else if (propertyType == PropertyType.COMPOSITE) {
    // Base it on the primary property's behaviour
    return primaryProperty.isMultiValuePermitted();
  }
  return false;
}

代码示例来源:origin: com.github.lafa.tikaNoExternal/tika-core

/**
 * Is the PropertyType one which accepts multiple values?
 */
public boolean isMultiValuePermitted() {
  if (propertyType == PropertyType.BAG || propertyType == PropertyType.SEQ ||
    propertyType == PropertyType.ALT) {
    return true;
  } else if (propertyType == PropertyType.COMPOSITE) {
    // Base it on the primary property's behaviour
    return primaryProperty.isMultiValuePermitted();
  }
  return false;
}

代码示例来源:origin: apache/tika

set(property, value);
} else {
  if (property.isMultiValuePermitted()) {
    set(property, appendedValues(values, value));
  } else {

代码示例来源:origin: apache/tika

/**
 * Sets array properties. If the property already exists, it is overwritten. Only array
 * properties that use a registered prefix are stored in the XMP.
 *
 * @see org.apache.tika.metadata.Metadata#set(org.apache.tika.metadata.Property,
 *      java.lang.String[])
 */
@Override
public void set(Property property, String[] values) {
  checkKey( property.getName() );
  if (!property.isMultiValuePermitted()) {
    throw new PropertyTypeException( "Property is not of an array type" );
  }
  String[] keyParts = splitKey( property.getName() );
  String ns = registry.getNamespaceURI( keyParts[0] );
  if (ns != null) {
    try {
      int arrayType = tikaToXMPArrayType( property.getPrimaryProperty().getPropertyType() );
      xmpData.setProperty( ns, keyParts[1], null, new PropertyOptions( arrayType ) );
      for (String value : values) {
        xmpData.appendArrayItem( ns, keyParts[1], value );
      }
    }
    catch (XMPException e) {
      // Ignore
    }
  }
}

代码示例来源:origin: org.apache.tika/tika-parsers

@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
  Property prop = getProperty(uri, localName);
  if (prop != null) {
    if (prop.isMultiValuePermitted()) {
      metadata.add(prop, buffer.toString());
    } else {
      metadata.set(prop, buffer.toString());
    }
  }
  buffer.setLength(0);
}

代码示例来源:origin: com.github.lafa.tikaNoExternal/tika-parsers

@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
  Property prop = getProperty(uri, localName);
  if (prop != null) {
    if (prop.isMultiValuePermitted()) {
      metadata.add(prop, buffer.toString());
    } else {
      metadata.set(prop, buffer.toString());
    }
  }
  buffer.setLength(0);
}

代码示例来源:origin: org.apache.tika/tika-parsers

@Override
  protected void addMetadata(String value) {
    LOG.trace("adding {}={}", name, value);
    if (targetProperty != null && targetProperty.isMultiValuePermitted()) {
      if ((value != null && value.length() > 0) || allowEmptyValues) {
        if (value == null || value.length() == 0 && allowEmptyValues) {
          value = "";
        }
        String[] previous = metadata.getValues(name);
        if (previous == null || !Arrays.asList(previous).contains(value) || allowDuplicateValues) {
          metadata.add(targetProperty, value);
        }
      }
    } else {
      super.addMetadata(value);
    }
  }
}

代码示例来源:origin: com.github.lafa.tikaNoExternal/tika-parsers

@Override
  protected void addMetadata(String value) {
    if (logger.isTraceEnabled()) {
      logger.trace("adding " + name + "=" + value);
    }
    if (targetProperty != null && targetProperty.isMultiValuePermitted()) {
      if ((value != null && value.length() > 0) || allowEmptyValues) {
        if (value == null || value.length() == 0 && allowEmptyValues) {
          value = "";
        }
        String[] previous = metadata.getValues(name);
        if (previous == null || !Arrays.asList(previous).contains(value) || allowDuplicateValues) {
          metadata.add(targetProperty, value);
        }
      }
    } else {
      super.addMetadata(value);
    }
  }
}

代码示例来源:origin: org.apache.tika/tika-parsers

private void addMetadata(Metadata metadata, Property property, String value) {
  if (value != null) {
    String decoded = decode(value);
    if (property.isMultiValuePermitted() || metadata.get(property) == null) {
      metadata.add(property, decoded);
    }
    //silently skip adding property that already exists if multiple values are not permitted
  }
}

代码示例来源:origin: com.github.lafa.tikaNoExternal/tika-external

private void addMetadata(Metadata metadata, Property property, String value) {
  if (value != null) {
    String decoded = decode(value);
    if (property.isMultiValuePermitted() || metadata.get(property) == null) {
      metadata.add(property, decoded);
    }
    //silently skip adding property that already exists if multiple values are not permitted
  }
}

代码示例来源:origin: com.github.lafa.tikaNoExternal/tika-parsers

private void addMetadata(Metadata metadata, Property property, String value) {
  if (value != null) {
    String decoded = decode(value);
    if (property.isMultiValuePermitted() || metadata.get(property) == null) {
      metadata.add(property, decoded);
    }
    //silently skip adding property that already exists if multiple values are not permitted
  }
}

代码示例来源:origin: org.apache.tika/tika-core

/**
 * Add a metadata property/value mapping. Add the specified value to the list of
 * values associated to the specified metadata property.
 * 
 * @param property
 *          the metadata property.
 * @param value
 *          the metadata value.
 */
public void add(final Property property, final String value) {
  String[] values = metadata.get(property.getName());
  if (values == null) {
    set(property, value);
  } else {
     if (property.isMultiValuePermitted()) {
       set(property, appendedValues(values, value));
     } else {
       throw new PropertyTypeException(property.getName() +
           " : " + property.getPropertyType());
     }
  }
}

相关文章