public abstract class FileGroup extends DefaultLinkedDirtyable implements Copyable
Modifier and Type | Field and Description |
---|---|
protected HashStructure |
_hash |
static int |
LIBRARY_FILE_GROUP |
static int |
MODULE_FILE_GROUP |
static int |
PACKAGING_FILE_GROUP |
static int |
PROJECT_FILE_GROUP |
Constructor and Description |
---|
FileGroup() |
FileGroup(HashStructure hash) |
FileGroup(java.lang.String displayName) |
FileGroup(java.lang.String displayName,
java.lang.String internalName) |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.Object |
copyTo(java.lang.Object target)
Copies the internal state of
this object to the
specified copy . |
protected void |
copyToImpl(FileGroup copy) |
boolean |
equals(java.lang.Object o) |
protected boolean |
equalsImpl(FileGroup other) |
java.lang.String |
getDisplayName() |
HashStructure |
getHashStructure() |
java.lang.String |
getInternalName()
The internal name is used to locate certain special file groups
that may be modified dynamically by other features/wizards.
|
URLPath |
getSourceRoots(Profile profile)
Deprecated.
Use
Processors from the Contrib framework instead. |
java.lang.String |
getTargetWithinJar() |
boolean |
hasInternalName() |
void |
setDisplayName(java.lang.String displayName) |
void |
setInternalName(java.lang.String internalName) |
void |
setTargetWithinJar(java.lang.String targetWithinJar) |
java.lang.String |
toPathWithinJar(java.lang.String filePath)
This method combines the given path with the target path within the jar
to return the relative path within the jar of the specified file.
|
abstract int |
type() |
compare, compareTo, linkContainingDirtyable, linkEmbeddedDirtyable, linkEmbeddedDirtyable, linkEmbeddedDirtyables, markDirty, setOwner, unlinkContainingDirtyable, unlinkEmbeddedDirtyable, unlinkEmbeddedDirtyable, unlinkEmbeddedDirtyables
dirtyLabel, dirtyLabel, dirtyLabel, isDirty
public static final int PACKAGING_FILE_GROUP
public static final int PROJECT_FILE_GROUP
public static final int LIBRARY_FILE_GROUP
public static final int MODULE_FILE_GROUP
protected HashStructure _hash
public FileGroup()
public FileGroup(HashStructure hash)
public FileGroup(java.lang.String displayName)
public FileGroup(java.lang.String displayName, java.lang.String internalName)
public abstract int type()
#PACKAGING_GROUP
or #PROJECT_SELECTION_GROUP
,
depending on what the subclass type is.public abstract java.lang.Object copyTo(java.lang.Object target)
Copyable
this
object to the
specified copy
. If copy
is
null
, then this method should create a new instance
of this
class and proceed to copy the internal state
to the newly created object. Generally, only the persistent
state of the object should be copied, but whether or not it is
appropriate to copy transient properties is at the discretion
of the individual implementor.
Regardless of whether the copy occurs to an existing object or to
a newly created object, the return value is object to which
this
object's state was copied.
There is a standard implementation pattern for the
copyTo
method that helps avoid problems that arise
when a Copyable
object is subclassed. The pattern
is:
The parameter passed into thepublic Object copyTo( Object target ) { final <this_class> copy = target != null ? (<this_class>) target : new <this_class>(); copyToImpl( copy ); return copy; } protected final void copyToImpl( <this_class> copy ) { super.copyToImpl( copy ); // if necessary // put code here for copying the properties of <this_class> }
copyToImpl
method is
the same type of this
class. The responsibility of
copyToImpl
is to copy the state of this
class through direct access of the fields. The
copyToImpl
method should not use getters and setters
since these may be overridden, causing the state of
this
class to be incompletely copied.copyTo
in interface Copyable
target
- The target object to which the state of
this
object should be copied. If target
is null
, then the copyTo
method will
return a new instance of this
class.this
object was copied. If the target
was
non-null
, then the return value is the same as the
target
object that was passed in; otherwise, the
return value is a new instance of this
class.protected final void copyToImpl(FileGroup copy)
public java.lang.String getDisplayName()
public void setDisplayName(java.lang.String displayName)
@Deprecated public URLPath getSourceRoots(Profile profile)
Processors
from the Contrib framework instead.public java.lang.String getTargetWithinJar()
public void setTargetWithinJar(java.lang.String targetWithinJar)
public java.lang.String toPathWithinJar(java.lang.String filePath)
For e.g, if filegroup.TargetWithinJar is "META-INF/" and filePath is "extension.xml" then returned value is "META-INF/extension.xml". The path is sanitized for slashes as required.
path
- public java.lang.String getInternalName() throws AttributeMarker
AttributeMarker
public void setInternalName(java.lang.String internalName)
public boolean hasInternalName()
public HashStructure getHashStructure()
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
protected final boolean equalsImpl(FileGroup other)