Task #2687

Updated by Sebastien Jacquot 8 months ago

1) make userPersistable a parameter (see example below)

2a) replace
<pre>
class TXMResult:
/**
* Internal persistable state.
*/
protected boolean internalPersistable;

/**
* User persistable state.
*/
protected boolean userPersistable;
</pre>

With:
<pre>
class TXMResult:
/**
* persistable state.
*/
@Parameter(key = TXMPreferences.PERSISTABLE, type = Parameter.INTERNAL)
protected boolean persistable;
/** re-implement this methods if your result must always is persistable **/
public boolean isInternalPersistable() { return false; }

...

class Partition:
public boolean isInternalPersistable() { return true; }

</pre>
and find a way to a TXMResult command to tell when it was set persistable at creation time

2b) Current state

Sets the member to true in the constructor of class that needs to be always persisted, eg.:

<pre>
/**
*
* @param partition
*/
public Part(Partition partition, String partName, String query) {
super(partition);

this.userName = partName;
this.pQuery = new CQLQuery(query);
this.pID = CqpObject.partNamePrefix + CQPCorpus.getNextSubcorpusCounter();
this.setVisible(false);
this.internalPersistable = true;
}

</pre>

Back