You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2009/11/27 15:59:12 UTC
svn commit: r884888 -
/lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java
Author: jukka
Date: Fri Nov 27 14:59:11 2009
New Revision: 884888
URL: http://svn.apache.org/viewvc?rev=884888&view=rev
Log:
TIKA-321: Optimize type detection speed
Reduce the memory overhead of MimeType by getting rid of two unused TreeSets per instance
Modified:
lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java
Modified: lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java
URL: http://svn.apache.org/viewvc/lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java?rev=884888&r1=884887&r2=884888&view=diff
==============================================================================
--- lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java (original)
+++ lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java Fri Nov 27 14:59:11 2009
@@ -16,11 +16,7 @@
*/
package org.apache.tika.mime;
-// JDK imports
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.SortedSet;
-import java.util.TreeSet;
/**
* Internet media type.
@@ -86,19 +82,9 @@
*/
private MimeType superType = null;
- /**
- * The child types of this media type.
- */
- private final SortedSet<MimeType> subTypes = new TreeSet<MimeType>();
-
/** The magics associated to this Mime-Type */
private final ArrayList<Magic> magics = new ArrayList<Magic>();
- /**
- * Lower case alias names of this media type.
- */
- private final SortedSet<String> aliases = new TreeSet<String>();
-
/** The root-XML associated to this Mime-Type */
private final ArrayList<RootXML> rootXML = new ArrayList<RootXML>();
@@ -161,21 +147,14 @@
"Media type can not inherit its descendant: " + type);
} else if (superType == null) {
superType = type;
- superType.subTypes.add(this);
} else if (type.isDescendantOf(superType)) {
- superType.subTypes.remove(this);
superType = type;
- superType.subTypes.add(this);
} else {
throw new MimeTypeException(
"Conflicting media type inheritance: " + type);
}
}
- public SortedSet<MimeType> getSubTypes() {
- return Collections.unmodifiableSortedSet(subTypes);
- }
-
public boolean isDescendantOf(MimeType type) {
if (type == null) {
throw new IllegalArgumentException("MimeType is missing");
@@ -212,16 +191,6 @@
}
/**
- * Returns the aliases of this media type. The returned set is
- * an immutable view of the set.
- *
- * @return media type aliases, unmodifiable, not null
- */
- public SortedSet<String> getAliases() {
- return Collections.unmodifiableSortedSet(aliases);
- }
-
- /**
* Adds an alias name for this media type.
*
* @param alias media type alias (case insensitive)
@@ -231,9 +200,8 @@
public void addAlias(String alias) throws MimeTypeException {
if (isValid(alias)) {
alias = alias.toLowerCase();
- if (!name.equals(alias) && !aliases.contains(alias)) {
+ if (!name.equals(alias)) {
registry.addAlias(this, alias);
- aliases.add(alias);
}
} else {
throw new MimeTypeException("Invalid media type alias: " + alias);