All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.aspectj.weaver.tools.cache.AbstractCacheBacking Maven / Gradle / Ivy

Go to download

The AspectJ weaver applies aspects to Java classes. It can be used as a Java agent in order to apply load-time weaving (LTW) during class-loading and also contains the AspectJ runtime classes.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 * Copyright (c) 2012 Contributors.
 * All rights reserved.
 * This program and the accompanying materials are made available
 * under the terms of the Eclipse Public License v 2.0
 * which accompanies this distribution and is available at
 * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
 *
 * Contributors:
 *   John Kew (vmware)         	initial implementation
 *   Lyor Goldstein (vmware)	add support for weaved class being re-defined
 *******************************************************************************/
package org.aspectj.weaver.tools.cache;

import java.util.zip.CRC32;

import org.aspectj.weaver.tools.Trace;
import org.aspectj.weaver.tools.TraceFactory;

/**
 * Basic "common" {@link CacheBacking} implementation
 */
public abstract class AbstractCacheBacking implements CacheBacking {
    protected final Trace  logger=TraceFactory.getTraceFactory().getTrace(getClass());

	protected AbstractCacheBacking () {
		super();
	}

    /**
     * Calculates CRC32 on the provided bytes
     * @param bytes The bytes array - ignored if null/empty
     * @return Calculated CRC
     * @see CRC32
     */
    public static final long crc (byte[] bytes) {
        if ((bytes == null) || (bytes.length <= 0)) {
            return 0L;
        }

        CRC32   crc32=new CRC32();
        crc32.update(bytes);
        return crc32.getValue();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy