Package org.apache.ivy.core.module.id
Class ModuleRevisionId
- java.lang.Object
-
- org.apache.ivy.util.extendable.UnmodifiableExtendableItem
-
- org.apache.ivy.core.module.id.ModuleRevisionId
-
- All Implemented Interfaces:
ExtendableItem
public class ModuleRevisionId extends UnmodifiableExtendableItem
Identifies a module in a particular version- See Also:
- org.apache.ivy.core.module.id
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Stringbranchprivate static java.util.Map<ModuleRevisionId,java.lang.ref.WeakReference<ModuleRevisionId>>CACHEprivate static java.lang.StringENCODE_PREFIXprivate static java.lang.StringENCODE_SEPARATORprivate inthashprivate ModuleIdmoduleIdstatic java.util.regex.PatternMRID_PATTERNPattern to use to matched mrid text representation.static java.util.regex.PatternNON_CAPTURING_PATTERNSame as MRID_PATTERN but using non capturing groups, useful to build larger regexpprivate static java.lang.StringNULL_ENCODEprivate static java.lang.StringREV_STRICT_CHARS_PATTERNprivate java.lang.Stringrevision(package private) static java.lang.StringSTRICT_CHARS_PATTERN
-
Constructor Summary
Constructors Modifier Constructor Description ModuleRevisionId(ModuleId moduleId, java.lang.String revision)ModuleRevisionId(ModuleId moduleId, java.lang.String branch, java.lang.String revision)privateModuleRevisionId(ModuleId moduleId, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes)privateModuleRevisionId(ModuleId moduleId, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes, boolean replaceNullBranchWithDefault)privateModuleRevisionId(ModuleId moduleId, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ModuleRevisionIddecode(java.lang.String encoded)java.lang.StringencodeToString()booleanequals(java.lang.Object obj)java.lang.StringgetBranch()ModuleIdgetModuleId()java.lang.StringgetName()java.lang.StringgetOrganisation()java.lang.StringgetRevision()inthashCode()static ModuleRevisionIdintern(ModuleRevisionId moduleRevisionId)Returns an intern instance of the given ModuleRevisionId if any, or put the given ModuleRevisionId in a cache of intern instances and returns it.static ModuleRevisionIdnewInstance(java.lang.String organisation, java.lang.String name, java.lang.String revision)static ModuleRevisionIdnewInstance(java.lang.String organisation, java.lang.String name, java.lang.String branch, java.lang.String revision)static ModuleRevisionIdnewInstance(java.lang.String organisation, java.lang.String name, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes)static ModuleRevisionIdnewInstance(java.lang.String organisation, java.lang.String name, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes, boolean replaceNullBranchWithDefault)static ModuleRevisionIdnewInstance(java.lang.String organisation, java.lang.String name, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes)static ModuleRevisionIdnewInstance(ModuleRevisionId mrid, java.lang.String rev)static ModuleRevisionIdnewInstance(ModuleRevisionId mrid, java.lang.String branch, java.lang.String rev)private static java.lang.StringnormalizeRevision(java.lang.String revision)[revision] is a valid revision in maven.static ModuleRevisionIdparse(java.lang.String mrid)Parses a module revision id text representation and returns a newModuleRevisionIdinstance corresponding to the parsed String.java.lang.StringtoString()-
Methods inherited from class org.apache.ivy.util.extendable.UnmodifiableExtendableItem
getAttribute, getAttributes, getExtraAttribute, getExtraAttributes, getQualifiedExtraAttributes, setExtraAttribute, setStandardAttribute
-
-
-
-
Field Detail
-
ENCODE_SEPARATOR
private static final java.lang.String ENCODE_SEPARATOR
- See Also:
- Constant Field Values
-
ENCODE_PREFIX
private static final java.lang.String ENCODE_PREFIX
- See Also:
- Constant Field Values
-
NULL_ENCODE
private static final java.lang.String NULL_ENCODE
- See Also:
- Constant Field Values
-
STRICT_CHARS_PATTERN
static final java.lang.String STRICT_CHARS_PATTERN
- See Also:
- Constant Field Values
-
REV_STRICT_CHARS_PATTERN
private static final java.lang.String REV_STRICT_CHARS_PATTERN
- See Also:
- Constant Field Values
-
CACHE
private static final java.util.Map<ModuleRevisionId,java.lang.ref.WeakReference<ModuleRevisionId>> CACHE
-
MRID_PATTERN
public static final java.util.regex.Pattern MRID_PATTERN
Pattern to use to matched mrid text representation.- See Also:
parse(String)
-
NON_CAPTURING_PATTERN
public static final java.util.regex.Pattern NON_CAPTURING_PATTERN
Same as MRID_PATTERN but using non capturing groups, useful to build larger regexp
-
moduleId
private final ModuleId moduleId
-
branch
private final java.lang.String branch
-
revision
private final java.lang.String revision
-
hash
private int hash
-
-
Constructor Detail
-
ModuleRevisionId
public ModuleRevisionId(ModuleId moduleId, java.lang.String revision)
-
ModuleRevisionId
public ModuleRevisionId(ModuleId moduleId, java.lang.String branch, java.lang.String revision)
-
ModuleRevisionId
private ModuleRevisionId(ModuleId moduleId, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes)
-
ModuleRevisionId
private ModuleRevisionId(ModuleId moduleId, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes)
-
ModuleRevisionId
private ModuleRevisionId(ModuleId moduleId, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes, boolean replaceNullBranchWithDefault)
-
-
Method Detail
-
parse
public static ModuleRevisionId parse(java.lang.String mrid)
Parses a module revision id text representation and returns a newModuleRevisionIdinstance corresponding to the parsed String.The result is unspecified if the module doesn't respect strict name conventions.
- Parameters:
mrid- the text representation of the module (as returned bytoString()). Must not benull.- Returns:
- a
ModuleRevisionIdcorresponding to the given text representation - Throws:
java.lang.IllegalArgumentException- if the given text representation does not match theModuleRevisionIdtext representation rules.
-
newInstance
public static ModuleRevisionId newInstance(java.lang.String organisation, java.lang.String name, java.lang.String revision)
-
newInstance
public static ModuleRevisionId newInstance(java.lang.String organisation, java.lang.String name, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes)
-
newInstance
public static ModuleRevisionId newInstance(java.lang.String organisation, java.lang.String name, java.lang.String branch, java.lang.String revision)
-
newInstance
public static ModuleRevisionId newInstance(java.lang.String organisation, java.lang.String name, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes)
-
newInstance
public static ModuleRevisionId newInstance(java.lang.String organisation, java.lang.String name, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes, boolean replaceNullBranchWithDefault)
-
newInstance
public static ModuleRevisionId newInstance(ModuleRevisionId mrid, java.lang.String rev)
-
newInstance
public static ModuleRevisionId newInstance(ModuleRevisionId mrid, java.lang.String branch, java.lang.String rev)
-
intern
public static ModuleRevisionId intern(ModuleRevisionId moduleRevisionId)
Returns an intern instance of the given ModuleRevisionId if any, or put the given ModuleRevisionId in a cache of intern instances and returns it.This method should be called on ModuleRevisionId created with one of the constructor to decrease memory footprint.
When using static newInstances methods, this method is already called.
- Parameters:
moduleRevisionId- the module revision id to intern- Returns:
- an interned ModuleRevisionId
-
getModuleId
public ModuleId getModuleId()
-
getName
public java.lang.String getName()
-
getOrganisation
public java.lang.String getOrganisation()
-
getRevision
public java.lang.String getRevision()
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
encodeToString
public java.lang.String encodeToString()
-
decode
public static ModuleRevisionId decode(java.lang.String encoded)
-
getBranch
public java.lang.String getBranch()
-
normalizeRevision
private static java.lang.String normalizeRevision(java.lang.String revision)
[revision] is a valid revision in maven. This method strips the '[' and ']' characters. Cfr. http://docs.codehaus.org/x/IGU
-
-