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.String
branch
private static java.util.Map<ModuleRevisionId,java.lang.ref.WeakReference<ModuleRevisionId>>
CACHE
private static java.lang.String
ENCODE_PREFIX
private static java.lang.String
ENCODE_SEPARATOR
private int
hash
private ModuleId
moduleId
static java.util.regex.Pattern
MRID_PATTERN
Pattern to use to matched mrid text representation.static java.util.regex.Pattern
NON_CAPTURING_PATTERN
Same as MRID_PATTERN but using non capturing groups, useful to build larger regexpprivate static java.lang.String
NULL_ENCODE
private static java.lang.String
REV_STRICT_CHARS_PATTERN
private java.lang.String
revision
(package private) static java.lang.String
STRICT_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)
private
ModuleRevisionId(ModuleId moduleId, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes)
private
ModuleRevisionId(ModuleId moduleId, java.lang.String branch, java.lang.String revision, java.util.Map<java.lang.String,java.lang.String> extraAttributes, boolean replaceNullBranchWithDefault)
private
ModuleRevisionId(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 ModuleRevisionId
decode(java.lang.String encoded)
java.lang.String
encodeToString()
boolean
equals(java.lang.Object obj)
java.lang.String
getBranch()
ModuleId
getModuleId()
java.lang.String
getName()
java.lang.String
getOrganisation()
java.lang.String
getRevision()
int
hashCode()
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.static ModuleRevisionId
newInstance(java.lang.String organisation, java.lang.String name, java.lang.String revision)
static ModuleRevisionId
newInstance(java.lang.String organisation, java.lang.String name, java.lang.String branch, java.lang.String revision)
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)
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)
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)
static ModuleRevisionId
newInstance(ModuleRevisionId mrid, java.lang.String rev)
static ModuleRevisionId
newInstance(ModuleRevisionId mrid, java.lang.String branch, java.lang.String rev)
private static java.lang.String
normalizeRevision(java.lang.String revision)
[revision] is a valid revision in maven.static ModuleRevisionId
parse(java.lang.String mrid)
Parses a module revision id text representation and returns a newModuleRevisionId
instance corresponding to the parsed String.java.lang.String
toString()
-
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 newModuleRevisionId
instance 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
ModuleRevisionId
corresponding to the given text representation - Throws:
java.lang.IllegalArgumentException
- if the given text representation does not match theModuleRevisionId
text 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:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in 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
-
-