~ubuntu-branches/ubuntu/karmic/batik/karmic

« back to all changes in this revision

Viewing changes to sources/org/apache/batik/css/engine/sac/CSSClassCondition.java

  • Committer: Bazaar Package Importer
  • Author(s): Matvey Kozhev, Onkar Shinde, Matvey Kozhev
  • Date: 2008-07-19 01:03:05 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20080719010305-0b24skqy185kdsb9
Tags: 1.7.dfsg-0ubuntu1
[ Onkar Shinde ]
* New upstream version (LP: #147818)
* debian/control
  - Add Sun JDK 1.5 as build dependency. Fixes FTBFS on buildd. (LP: #150484)
    Also add Sun JRE as runtime dependencies.
  - Add ant-optional as build dependency.
  - Add libxml-commons-external-java and libxmlgraphics-commons-java as
    build and runtime dependencies.
  - Add 'Homepage' field and correct the url.
  - Change standards version to 3.8.0.
  - Modify Maintainer value to match the DebianMaintainerField
    specification.
* debian/rules
  - Change JAVA_HOME_DIRS for Sun JDK.
  - Add jar file names to DEB_JARS to match new build requirements.
  - Extract version from changelog.
  - Delete bundled jar files in clean target.
  - Don't use hardcoded version in install target.
  - Add get-orig-source target.
* debian/README.Debian-source
  - Change the fo tag name to the one used for this version.
* debian/watch
  - Change expression to match src distribution.
* debian/patches/
  - 01_build_xml.patch, 02_fix_jar_target.patch - Refresh for current source.
  - 03_fix_lib_dirs.patch - Fix the library and classpath references needed
    for pdf transcoder build.
  - 04_fix_transcoder_pkg.patch - Fix transcoder-pkg target to not copy
    files from other jar files.

[ Matvey Kozhev ]
* debian/changelog:
  - Added ".dfsg" to version.
* debian/control, debian/rules:
  - Build with openjdk-6-jdk, depend on openjdk-6-jre.
  - Added java-6-sun as an alternate build JAVA_HOME directory.
  - Fixed get-orig-source to not include debian/ and delete the source dir,
    and made it delete jars from lib/, as done in the current batik package.
* debian/wrappers.sh:
  - Changed java-7-icedtea reference to java-6-openjdk, as the former has been
    removed back in Hardy.
  - Added newline.
* debian/libbatik-java.install:
  - Added newline.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 
3
 
   Copyright 2002-2003  The Apache Software Foundation 
4
 
 
5
 
   Licensed under the Apache License, Version 2.0 (the "License");
6
 
   you may not use this file except in compliance with the License.
7
 
   You may obtain a copy of the License at
 
3
   Licensed to the Apache Software Foundation (ASF) under one or more
 
4
   contributor license agreements.  See the NOTICE file distributed with
 
5
   this work for additional information regarding copyright ownership.
 
6
   The ASF licenses this file to You under the Apache License, Version 2.0
 
7
   (the "License"); you may not use this file except in compliance with
 
8
   the License.  You may obtain a copy of the License at
8
9
 
9
10
       http://www.apache.org/licenses/LICENSE-2.0
10
11
 
25
26
 * {@link org.w3c.css.sac.AttributeCondition} interface.
26
27
 *
27
28
 * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
28
 
 * @version $Id: CSSClassCondition.java,v 1.6 2004/08/18 07:12:51 vhardy Exp $
 
29
 * @version $Id: CSSClassCondition.java 602579 2007-12-08 23:43:32Z cam $
29
30
 */
30
31
public class CSSClassCondition extends CSSAttributeCondition {
31
32
 
35
36
    public CSSClassCondition(String localName,
36
37
                             String namespaceURI,
37
38
                             String value) {
38
 
        super(localName, namespaceURI, true, value);
 
39
        super(localName, namespaceURI, true, value);
39
40
    }
40
 
    
 
41
 
41
42
    /**
42
43
     * <b>SAC</b>: Implements {@link
43
44
     * org.w3c.css.sac.Condition#getConditionType()}.
44
 
     */    
 
45
     */
45
46
    public short getConditionType() {
46
 
        return SAC_CLASS_CONDITION;
 
47
        return SAC_CLASS_CONDITION;
47
48
    }
48
 
    
 
49
 
49
50
    /**
50
51
     * Tests whether this condition matches the given element.
51
52
     */
52
53
    public boolean match(Element e, String pseudoE) {
53
54
        if (!(e instanceof CSSStylableElement))
54
55
            return false;  // Can't match an unstylable element.
55
 
        String attr = ((CSSStylableElement)e).getCSSClass();
56
 
        String val = getValue();
57
 
        int i = attr.indexOf(val);
58
 
        if (i == -1) {
59
 
            return false;
60
 
        }
61
 
        if (i != 0 && !Character.isSpaceChar(attr.charAt(i - 1))) {
62
 
            return false;
63
 
        }
64
 
        int j = i + val.length();
65
 
        return (j == attr.length() ||
66
 
                (j < attr.length() && Character.isSpaceChar(attr.charAt(j))));
 
56
        String attr = ((CSSStylableElement)e).getCSSClass();
 
57
        String val = getValue();
 
58
        int attrLen = attr.length();
 
59
        int valLen = val.length();
 
60
 
 
61
        int i = attr.indexOf(val);
 
62
        while (i != -1) {
 
63
            if (i == 0 || Character.isSpaceChar(attr.charAt(i - 1))) {
 
64
                if (i + valLen == attrLen ||
 
65
                        Character.isSpaceChar(attr.charAt(i + valLen))) {
 
66
                    return true;
 
67
                }
 
68
            }
 
69
            i = attr.indexOf(val, i + valLen);
 
70
        }
 
71
        return false;
67
72
    }
68
73
 
69
74
    /**
70
75
     * Returns a text representation of this object.
71
76
     */
72
77
    public String toString() {
73
 
        return "." + getValue();
 
78
        return '.' + getValue();
74
79
    }
75
80
}