Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
maven-artifact-3.8.6.jar - Maven Artifact Module
maven-artifact-3.8.6.jar is the JAR file for Apache Maven 3.8.6 Artifact module.
Apache Maven is a software project management and comprehension tool.
JAR File Size and Download Location:
File: 58076 06-06-2022 16:16 lib/maven-artifact-3.8.6.jar Download: Apache Maven Website
✍: FYIcenter.com
⏎ org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
package org.apache.maven.artifact.repository;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.Calendar;
import java.util.Date;
/**
* Describes a set of policies for a repository to use under certain conditions.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public class ArtifactRepositoryPolicy
{
public static final String UPDATE_POLICY_NEVER = "never";
public static final String UPDATE_POLICY_ALWAYS = "always";
public static final String UPDATE_POLICY_DAILY = "daily";
public static final String UPDATE_POLICY_INTERVAL = "interval";
public static final String CHECKSUM_POLICY_FAIL = "fail";
public static final String CHECKSUM_POLICY_WARN = "warn";
public static final String CHECKSUM_POLICY_IGNORE = "ignore";
private boolean enabled;
private String updatePolicy;
private String checksumPolicy;
public ArtifactRepositoryPolicy()
{
this( true, null, null );
}
public ArtifactRepositoryPolicy( ArtifactRepositoryPolicy policy )
{
this( policy.isEnabled(), policy.getUpdatePolicy(), policy.getChecksumPolicy() );
}
public ArtifactRepositoryPolicy( boolean enabled, String updatePolicy, String checksumPolicy )
{
this.enabled = enabled;
if ( updatePolicy == null )
{
updatePolicy = UPDATE_POLICY_DAILY;
}
this.updatePolicy = updatePolicy;
if ( checksumPolicy == null )
{
checksumPolicy = CHECKSUM_POLICY_WARN;
}
this.checksumPolicy = checksumPolicy;
}
public void setEnabled( boolean enabled )
{
this.enabled = enabled;
}
public void setUpdatePolicy( String updatePolicy )
{
if ( updatePolicy != null )
{
this.updatePolicy = updatePolicy;
}
}
public void setChecksumPolicy( String checksumPolicy )
{
if ( checksumPolicy != null )
{
this.checksumPolicy = checksumPolicy;
}
}
public boolean isEnabled()
{
return enabled;
}
public String getUpdatePolicy()
{
return updatePolicy;
}
public String getChecksumPolicy()
{
return checksumPolicy;
}
public boolean checkOutOfDate( Date lastModified )
{
boolean checkForUpdates = false;
if ( UPDATE_POLICY_ALWAYS.equals( updatePolicy ) )
{
checkForUpdates = true;
}
else if ( UPDATE_POLICY_DAILY.equals( updatePolicy ) )
{
// Get local midnight boundary
Calendar cal = Calendar.getInstance();
cal.set( Calendar.HOUR_OF_DAY, 0 );
cal.set( Calendar.MINUTE, 0 );
cal.set( Calendar.SECOND, 0 );
cal.set( Calendar.MILLISECOND, 0 );
if ( cal.getTime().after( lastModified ) )
{
checkForUpdates = true;
}
}
else if ( updatePolicy.startsWith( UPDATE_POLICY_INTERVAL ) )
{
String s = updatePolicy.substring( UPDATE_POLICY_INTERVAL.length() + 1 );
int minutes = Integer.parseInt( s );
Calendar cal = Calendar.getInstance();
cal.add( Calendar.MINUTE, -minutes );
if ( cal.getTime().after( lastModified ) )
{
checkForUpdates = true;
}
}
// else assume "never"
return checkForUpdates;
}
@Override
public String toString()
{
StringBuilder buffer = new StringBuilder( 64 );
buffer.append( "{enabled=" );
buffer.append( enabled );
buffer.append( ", checksums=" );
buffer.append( checksumPolicy );
buffer.append( ", updates=" );
buffer.append( updatePolicy );
buffer.append( '}' );
return buffer.toString();
}
public void merge( ArtifactRepositoryPolicy policy )
{
if ( policy != null && policy.isEnabled() )
{
setEnabled( true );
if ( ordinalOfCksumPolicy( policy.getChecksumPolicy() ) < ordinalOfCksumPolicy( getChecksumPolicy() ) )
{
setChecksumPolicy( policy.getChecksumPolicy() );
}
if ( ordinalOfUpdatePolicy( policy.getUpdatePolicy() ) < ordinalOfUpdatePolicy( getUpdatePolicy() ) )
{
setUpdatePolicy( policy.getUpdatePolicy() );
}
}
}
private int ordinalOfCksumPolicy( String policy )
{
if ( ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL.equals( policy ) )
{
return 2;
}
else if ( ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE.equals( policy ) )
{
return 0;
}
else
{
return 1;
}
}
@SuppressWarnings( "checkstyle:magicnumber" )
private int ordinalOfUpdatePolicy( String policy )
{
if ( ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY.equals( policy ) )
{
return 1440;
}
else if ( ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS.equals( policy ) )
{
return 0;
}
else if ( policy != null && policy.startsWith( ArtifactRepositoryPolicy.UPDATE_POLICY_INTERVAL ) )
{
String s = policy.substring( UPDATE_POLICY_INTERVAL.length() + 1 );
return Integer.parseInt( s );
}
else
{
return Integer.MAX_VALUE;
}
}
}
⏎ org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
Or download all of them as a single archive file:
File name: maven-artifact-3.8.6-src.zip File size: 47529 bytes Release date: 2022-06-06 Download
⇒ maven-builder-support-3.8.6.jar - Builder Support Module
⇐ maven-core-3.8.6.jar - Maven Core Module
2023-07-17, ∼6898🔥, 5💬
Popular Posts:
Java Cryptography Extension 1.2.2 JAR File Size and Download Location: File name: jce.jar, jce-1.2.2...
What Is HttpComponents httpclient-4.2.2.jar? HttpComponents httpclient-4.2.2.jar is the JAR file for...
xml-commons External Source Code Files are provided in the source package file, xml-commons-external...
The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible...
What Is XMLBeans xbean.jar 2.6.0? XMLBeans xbean.jar 2.6.0 is the JAR file for Apache XMLBeans 2.6.0...