diff options
author | Eike Stepper | 2013-10-17 10:39:19 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2013-10-17 10:39:19 +0000 |
commit | 913837739954e84e6cb534b480cfc07764ded9b3 (patch) | |
tree | 268ee28e688ee91d58e628ccd996094c511f4330 /plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo | |
parent | 632884c15c9e7ae97940cb3949585954d981ccf8 (diff) | |
parent | 01bd70d72aa7ea88543e3b0723b00014092e5b15 (diff) | |
download | cdo-913837739954e84e6cb534b480cfc07764ded9b3.tar.gz cdo-913837739954e84e6cb534b480cfc07764ded9b3.tar.xz cdo-913837739954e84e6cb534b480cfc07764ded9b3.zip |
Merge "Improve setup related models"
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo')
23 files changed, 4723 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/AndPredicate.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/AndPredicate.java new file mode 100644 index 0000000000..2498715be5 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/AndPredicate.java @@ -0,0 +1,42 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + +import org.eclipse.emf.common.util.EList; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>And Predicate</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.AndPredicate#getOperands <em>Operands</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getAndPredicate() + * @model + * @generated + */ +public interface AndPredicate extends Predicate +{ + /** + * Returns the value of the '<em><b>Operands</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.cdo.releng.predicates.Predicate}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Operands</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Operands</em>' containment reference list. + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getAndPredicate_Operands() + * @model containment="true" + * @generated + */ + EList<Predicate> getOperands(); + +} // AndPredicate diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/BuilderPredicate.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/BuilderPredicate.java new file mode 100644 index 0000000000..06b1d7d698 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/BuilderPredicate.java @@ -0,0 +1,50 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Builder Predicate</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.BuilderPredicate#getBuilder <em>Builder</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getBuilderPredicate() + * @model + * @generated + */ +public interface BuilderPredicate extends Predicate +{ + /** + * Returns the value of the '<em><b>Builder</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Builder</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Builder</em>' attribute. + * @see #setBuilder(String) + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getBuilderPredicate_Builder() + * @model required="true" + * @generated + */ + String getBuilder(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.releng.predicates.BuilderPredicate#getBuilder <em>Builder</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Builder</em>' attribute. + * @see #getBuilder() + * @generated + */ + void setBuilder(String value); + +} // BuilderPredicate diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/FilePredicate.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/FilePredicate.java new file mode 100644 index 0000000000..997ad79615 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/FilePredicate.java @@ -0,0 +1,77 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>File Predicate</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.FilePredicate#getFilePattern <em>File Pattern</em>}</li> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.FilePredicate#getContentPattern <em>Content Pattern</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getFilePredicate() + * @model + * @generated + */ +public interface FilePredicate extends Predicate +{ + /** + * Returns the value of the '<em><b>File Pattern</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>File Pattern</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>File Pattern</em>' attribute. + * @see #setFilePattern(String) + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getFilePredicate_FilePattern() + * @model required="true" + * @generated + */ + String getFilePattern(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.releng.predicates.FilePredicate#getFilePattern <em>File Pattern</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>File Pattern</em>' attribute. + * @see #getFilePattern() + * @generated + */ + void setFilePattern(String value); + + /** + * Returns the value of the '<em><b>Content Pattern</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Content Pattern</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Content Pattern</em>' attribute. + * @see #setContentPattern(String) + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getFilePredicate_ContentPattern() + * @model + * @generated + */ + String getContentPattern(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.releng.predicates.FilePredicate#getContentPattern <em>Content Pattern</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Content Pattern</em>' attribute. + * @see #getContentPattern() + * @generated + */ + void setContentPattern(String value); + +} // FilePredicate diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/NamePredicate.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/NamePredicate.java new file mode 100644 index 0000000000..8f4803a362 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/NamePredicate.java @@ -0,0 +1,50 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Name Predicate</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.NamePredicate#getPattern <em>Pattern</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getNamePredicate() + * @model + * @generated + */ +public interface NamePredicate extends Predicate +{ + /** + * Returns the value of the '<em><b>Pattern</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pattern</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Pattern</em>' attribute. + * @see #setPattern(String) + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getNamePredicate_Pattern() + * @model required="true" + * @generated + */ + String getPattern(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.releng.predicates.NamePredicate#getPattern <em>Pattern</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pattern</em>' attribute. + * @see #getPattern() + * @generated + */ + void setPattern(String value); + +} // NamePredicate diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/NaturePredicate.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/NaturePredicate.java new file mode 100644 index 0000000000..cc21efc2d6 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/NaturePredicate.java @@ -0,0 +1,50 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Nature Predicate</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.NaturePredicate#getNature <em>Nature</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getNaturePredicate() + * @model + * @generated + */ +public interface NaturePredicate extends Predicate +{ + /** + * Returns the value of the '<em><b>Nature</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Nature</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Nature</em>' attribute. + * @see #setNature(String) + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getNaturePredicate_Nature() + * @model required="true" + * @generated + */ + String getNature(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.releng.predicates.NaturePredicate#getNature <em>Nature</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Nature</em>' attribute. + * @see #getNature() + * @generated + */ + void setNature(String value); + +} // NaturePredicate diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/NotPredicate.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/NotPredicate.java new file mode 100644 index 0000000000..1888936d80 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/NotPredicate.java @@ -0,0 +1,50 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Not Predicate</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.NotPredicate#getOperand <em>Operand</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getNotPredicate() + * @model + * @generated + */ +public interface NotPredicate extends Predicate +{ + /** + * Returns the value of the '<em><b>Operand</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Operand</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Operand</em>' containment reference. + * @see #setOperand(Predicate) + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getNotPredicate_Operand() + * @model containment="true" + * @generated + */ + Predicate getOperand(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.releng.predicates.NotPredicate#getOperand <em>Operand</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Operand</em>' containment reference. + * @see #getOperand() + * @generated + */ + void setOperand(Predicate value); + +} // NotPredicate diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/OrPredicate.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/OrPredicate.java new file mode 100644 index 0000000000..14456d3f87 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/OrPredicate.java @@ -0,0 +1,41 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Or Predicate</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.OrPredicate#getOperands <em>Operands</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getOrPredicate() + * @model + * @generated + */ +public interface OrPredicate extends Predicate +{ + /** + * Returns the value of the '<em><b>Operands</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.cdo.releng.predicates.Predicate}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Operands</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Operands</em>' containment reference list. + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getOrPredicate_Operands() + * @model containment="true" + * @generated + */ + EList<Predicate> getOperands(); + +} // OrPredicate diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/Predicate.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/Predicate.java new file mode 100644 index 0000000000..e5d45cddcc --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/Predicate.java @@ -0,0 +1,29 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + +import org.eclipse.core.resources.IProject; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Predicate</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getPredicate() + * @model interface="true" abstract="true" + * @generated + */ +public interface Predicate extends EObject +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model projectDataType="org.eclipse.emf.cdo.releng.predicates.Project" + * @generated + */ + boolean matches(IProject project); + +} // Predicate diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/PredicatesFactory.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/PredicatesFactory.java new file mode 100644 index 0000000000..475fa0faf3 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/PredicatesFactory.java @@ -0,0 +1,106 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage + * @generated + */ +public interface PredicatesFactory extends EFactory +{ + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + PredicatesFactory eINSTANCE = org.eclipse.emf.cdo.releng.predicates.impl.PredicatesFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Name Predicate</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Name Predicate</em>'. + * @generated + */ + NamePredicate createNamePredicate(); + + /** + * Returns a new object of class '<em>Repository Predicate</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Repository Predicate</em>'. + * @generated + */ + RepositoryPredicate createRepositoryPredicate(); + + /** + * Returns a new object of class '<em>And Predicate</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>And Predicate</em>'. + * @generated + */ + AndPredicate createAndPredicate(); + + /** + * Returns a new object of class '<em>Or Predicate</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Or Predicate</em>'. + * @generated + */ + OrPredicate createOrPredicate(); + + /** + * Returns a new object of class '<em>Not Predicate</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Not Predicate</em>'. + * @generated + */ + NotPredicate createNotPredicate(); + + /** + * Returns a new object of class '<em>Nature Predicate</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Nature Predicate</em>'. + * @generated + */ + NaturePredicate createNaturePredicate(); + + /** + * Returns a new object of class '<em>Builder Predicate</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Builder Predicate</em>'. + * @generated + */ + BuilderPredicate createBuilderPredicate(); + + /** + * Returns a new object of class '<em>File Predicate</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>File Predicate</em>'. + * @generated + */ + FilePredicate createFilePredicate(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + PredicatesPackage getPredicatesPackage(); + +} //PredicatesFactory diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/PredicatesPackage.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/PredicatesPackage.java new file mode 100644 index 0000000000..3ca78cee5f --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/PredicatesPackage.java @@ -0,0 +1,903 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EOperation; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesFactory + * @model kind="package" + * @generated + */ +public interface PredicatesPackage extends EPackage +{ + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "predicates"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/CDO/releng/predicates/1.0"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "predicates"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + PredicatesPackage eINSTANCE = org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.releng.predicates.Predicate <em>Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.Predicate + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getPredicate() + * @generated + */ + int PREDICATE = 0; + + /** + * The number of structural features of the '<em>Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PREDICATE_FEATURE_COUNT = 0; + + /** + * The operation id for the '<em>Matches</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PREDICATE___MATCHES__IPROJECT = 0; + + /** + * The number of operations of the '<em>Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PREDICATE_OPERATION_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.NamePredicateImpl <em>Name Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.NamePredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getNamePredicate() + * @generated + */ + int NAME_PREDICATE = 1; + + /** + * The feature id for the '<em><b>Pattern</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NAME_PREDICATE__PATTERN = PREDICATE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Name Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NAME_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; + + /** + * The operation id for the '<em>Matches</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NAME_PREDICATE___MATCHES__IPROJECT = PREDICATE___MATCHES__IPROJECT; + + /** + * The number of operations of the '<em>Name Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NAME_PREDICATE_OPERATION_COUNT = PREDICATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.RepositoryPredicateImpl <em>Repository Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.RepositoryPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getRepositoryPredicate() + * @generated + */ + int REPOSITORY_PREDICATE = 2; + + /** + * The feature id for the '<em><b>Project</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REPOSITORY_PREDICATE__PROJECT = PREDICATE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Repository Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REPOSITORY_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; + + /** + * The operation id for the '<em>Matches</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REPOSITORY_PREDICATE___MATCHES__IPROJECT = PREDICATE___MATCHES__IPROJECT; + + /** + * The number of operations of the '<em>Repository Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REPOSITORY_PREDICATE_OPERATION_COUNT = PREDICATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.AndPredicateImpl <em>And Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.AndPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getAndPredicate() + * @generated + */ + int AND_PREDICATE = 3; + + /** + * The feature id for the '<em><b>Operands</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AND_PREDICATE__OPERANDS = PREDICATE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>And Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AND_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; + + /** + * The operation id for the '<em>Matches</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AND_PREDICATE___MATCHES__IPROJECT = PREDICATE___MATCHES__IPROJECT; + + /** + * The number of operations of the '<em>And Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AND_PREDICATE_OPERATION_COUNT = PREDICATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.OrPredicateImpl <em>Or Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.OrPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getOrPredicate() + * @generated + */ + int OR_PREDICATE = 4; + + /** + * The feature id for the '<em><b>Operands</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int OR_PREDICATE__OPERANDS = PREDICATE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Or Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int OR_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; + + /** + * The operation id for the '<em>Matches</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int OR_PREDICATE___MATCHES__IPROJECT = PREDICATE___MATCHES__IPROJECT; + + /** + * The number of operations of the '<em>Or Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int OR_PREDICATE_OPERATION_COUNT = PREDICATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.NotPredicateImpl <em>Not Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.NotPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getNotPredicate() + * @generated + */ + int NOT_PREDICATE = 5; + + /** + * The feature id for the '<em><b>Operand</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NOT_PREDICATE__OPERAND = PREDICATE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Not Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NOT_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; + + /** + * The operation id for the '<em>Matches</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NOT_PREDICATE___MATCHES__IPROJECT = PREDICATE___MATCHES__IPROJECT; + + /** + * The number of operations of the '<em>Not Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NOT_PREDICATE_OPERATION_COUNT = PREDICATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.NaturePredicateImpl <em>Nature Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.NaturePredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getNaturePredicate() + * @generated + */ + int NATURE_PREDICATE = 6; + + /** + * The feature id for the '<em><b>Nature</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NATURE_PREDICATE__NATURE = PREDICATE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Nature Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NATURE_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; + + /** + * The operation id for the '<em>Matches</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NATURE_PREDICATE___MATCHES__IPROJECT = PREDICATE___MATCHES__IPROJECT; + + /** + * The number of operations of the '<em>Nature Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NATURE_PREDICATE_OPERATION_COUNT = PREDICATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.BuilderPredicateImpl <em>Builder Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.BuilderPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getBuilderPredicate() + * @generated + */ + int BUILDER_PREDICATE = 7; + + /** + * The feature id for the '<em><b>Builder</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BUILDER_PREDICATE__BUILDER = PREDICATE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Builder Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BUILDER_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; + + /** + * The operation id for the '<em>Matches</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BUILDER_PREDICATE___MATCHES__IPROJECT = PREDICATE___MATCHES__IPROJECT; + + /** + * The number of operations of the '<em>Builder Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BUILDER_PREDICATE_OPERATION_COUNT = PREDICATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.FilePredicateImpl <em>File Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.FilePredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getFilePredicate() + * @generated + */ + int FILE_PREDICATE = 8; + + /** + * The feature id for the '<em><b>File Pattern</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILE_PREDICATE__FILE_PATTERN = PREDICATE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Content Pattern</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILE_PREDICATE__CONTENT_PATTERN = PREDICATE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>File Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILE_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 2; + + /** + * The operation id for the '<em>Matches</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILE_PREDICATE___MATCHES__IPROJECT = PREDICATE___MATCHES__IPROJECT; + + /** + * The number of operations of the '<em>File Predicate</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILE_PREDICATE_OPERATION_COUNT = PREDICATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '<em>Project</em>' data type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.core.resources.IProject + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getProject() + * @generated + */ + int PROJECT = 9; + + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.releng.predicates.Predicate <em>Predicate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Predicate</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.Predicate + * @generated + */ + EClass getPredicate(); + + /** + * Returns the meta object for the '{@link org.eclipse.emf.cdo.releng.predicates.Predicate#matches(org.eclipse.core.resources.IProject) <em>Matches</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Matches</em>' operation. + * @see org.eclipse.emf.cdo.releng.predicates.Predicate#matches(org.eclipse.core.resources.IProject) + * @generated + */ + EOperation getPredicate__Matches__IProject(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.releng.predicates.NamePredicate <em>Name Predicate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Name Predicate</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.NamePredicate + * @generated + */ + EClass getNamePredicate(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.releng.predicates.NamePredicate#getPattern <em>Pattern</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Pattern</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.NamePredicate#getPattern() + * @see #getNamePredicate() + * @generated + */ + EAttribute getNamePredicate_Pattern(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate <em>Repository Predicate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Repository Predicate</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate + * @generated + */ + EClass getRepositoryPredicate(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate#getProject <em>Project</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Project</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate#getProject() + * @see #getRepositoryPredicate() + * @generated + */ + EAttribute getRepositoryPredicate_Project(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.releng.predicates.AndPredicate <em>And Predicate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>And Predicate</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.AndPredicate + * @generated + */ + EClass getAndPredicate(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.releng.predicates.AndPredicate#getOperands <em>Operands</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Operands</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.AndPredicate#getOperands() + * @see #getAndPredicate() + * @generated + */ + EReference getAndPredicate_Operands(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.releng.predicates.OrPredicate <em>Or Predicate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Or Predicate</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.OrPredicate + * @generated + */ + EClass getOrPredicate(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.releng.predicates.OrPredicate#getOperands <em>Operands</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Operands</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.OrPredicate#getOperands() + * @see #getOrPredicate() + * @generated + */ + EReference getOrPredicate_Operands(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.releng.predicates.NotPredicate <em>Not Predicate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Not Predicate</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.NotPredicate + * @generated + */ + EClass getNotPredicate(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.releng.predicates.NotPredicate#getOperand <em>Operand</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Operand</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.NotPredicate#getOperand() + * @see #getNotPredicate() + * @generated + */ + EReference getNotPredicate_Operand(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.releng.predicates.NaturePredicate <em>Nature Predicate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Nature Predicate</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.NaturePredicate + * @generated + */ + EClass getNaturePredicate(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.releng.predicates.NaturePredicate#getNature <em>Nature</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Nature</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.NaturePredicate#getNature() + * @see #getNaturePredicate() + * @generated + */ + EAttribute getNaturePredicate_Nature(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.releng.predicates.BuilderPredicate <em>Builder Predicate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Builder Predicate</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.BuilderPredicate + * @generated + */ + EClass getBuilderPredicate(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.releng.predicates.BuilderPredicate#getBuilder <em>Builder</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Builder</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.BuilderPredicate#getBuilder() + * @see #getBuilderPredicate() + * @generated + */ + EAttribute getBuilderPredicate_Builder(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.releng.predicates.FilePredicate <em>File Predicate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>File Predicate</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.FilePredicate + * @generated + */ + EClass getFilePredicate(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.releng.predicates.FilePredicate#getFilePattern <em>File Pattern</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>File Pattern</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.FilePredicate#getFilePattern() + * @see #getFilePredicate() + * @generated + */ + EAttribute getFilePredicate_FilePattern(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.releng.predicates.FilePredicate#getContentPattern <em>Content Pattern</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Content Pattern</em>'. + * @see org.eclipse.emf.cdo.releng.predicates.FilePredicate#getContentPattern() + * @see #getFilePredicate() + * @generated + */ + EAttribute getFilePredicate_ContentPattern(); + + /** + * Returns the meta object for data type '{@link org.eclipse.core.resources.IProject <em>Project</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for data type '<em>Project</em>'. + * @see org.eclipse.core.resources.IProject + * @model instanceClass="org.eclipse.core.resources.IProject" + * @generated + */ + EDataType getProject(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + PredicatesFactory getPredicatesFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals + { + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.releng.predicates.Predicate <em>Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.Predicate + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getPredicate() + * @generated + */ + EClass PREDICATE = eINSTANCE.getPredicate(); + + /** + * The meta object literal for the '<em><b>Matches</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation PREDICATE___MATCHES__IPROJECT = eINSTANCE.getPredicate__Matches__IProject(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.NamePredicateImpl <em>Name Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.NamePredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getNamePredicate() + * @generated + */ + EClass NAME_PREDICATE = eINSTANCE.getNamePredicate(); + + /** + * The meta object literal for the '<em><b>Pattern</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NAME_PREDICATE__PATTERN = eINSTANCE.getNamePredicate_Pattern(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.RepositoryPredicateImpl <em>Repository Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.RepositoryPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getRepositoryPredicate() + * @generated + */ + EClass REPOSITORY_PREDICATE = eINSTANCE.getRepositoryPredicate(); + + /** + * The meta object literal for the '<em><b>Project</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute REPOSITORY_PREDICATE__PROJECT = eINSTANCE.getRepositoryPredicate_Project(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.AndPredicateImpl <em>And Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.AndPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getAndPredicate() + * @generated + */ + EClass AND_PREDICATE = eINSTANCE.getAndPredicate(); + + /** + * The meta object literal for the '<em><b>Operands</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference AND_PREDICATE__OPERANDS = eINSTANCE.getAndPredicate_Operands(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.OrPredicateImpl <em>Or Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.OrPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getOrPredicate() + * @generated + */ + EClass OR_PREDICATE = eINSTANCE.getOrPredicate(); + + /** + * The meta object literal for the '<em><b>Operands</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference OR_PREDICATE__OPERANDS = eINSTANCE.getOrPredicate_Operands(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.NotPredicateImpl <em>Not Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.NotPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getNotPredicate() + * @generated + */ + EClass NOT_PREDICATE = eINSTANCE.getNotPredicate(); + + /** + * The meta object literal for the '<em><b>Operand</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NOT_PREDICATE__OPERAND = eINSTANCE.getNotPredicate_Operand(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.NaturePredicateImpl <em>Nature Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.NaturePredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getNaturePredicate() + * @generated + */ + EClass NATURE_PREDICATE = eINSTANCE.getNaturePredicate(); + + /** + * The meta object literal for the '<em><b>Nature</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NATURE_PREDICATE__NATURE = eINSTANCE.getNaturePredicate_Nature(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.BuilderPredicateImpl <em>Builder Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.BuilderPredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getBuilderPredicate() + * @generated + */ + EClass BUILDER_PREDICATE = eINSTANCE.getBuilderPredicate(); + + /** + * The meta object literal for the '<em><b>Builder</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute BUILDER_PREDICATE__BUILDER = eINSTANCE.getBuilderPredicate_Builder(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.releng.predicates.impl.FilePredicateImpl <em>File Predicate</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.impl.FilePredicateImpl + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getFilePredicate() + * @generated + */ + EClass FILE_PREDICATE = eINSTANCE.getFilePredicate(); + + /** + * The meta object literal for the '<em><b>File Pattern</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FILE_PREDICATE__FILE_PATTERN = eINSTANCE.getFilePredicate_FilePattern(); + + /** + * The meta object literal for the '<em><b>Content Pattern</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FILE_PREDICATE__CONTENT_PATTERN = eINSTANCE.getFilePredicate_ContentPattern(); + + /** + * The meta object literal for the '<em>Project</em>' data type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.core.resources.IProject + * @see org.eclipse.emf.cdo.releng.predicates.impl.PredicatesPackageImpl#getProject() + * @generated + */ + EDataType PROJECT = eINSTANCE.getProject(); + + } + +} //PredicatesPackage diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/RepositoryPredicate.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/RepositoryPredicate.java new file mode 100644 index 0000000000..f345e173de --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/RepositoryPredicate.java @@ -0,0 +1,51 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates; + +import org.eclipse.core.resources.IProject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Repository Predicate</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate#getProject <em>Project</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getRepositoryPredicate() + * @model + * @generated + */ +public interface RepositoryPredicate extends Predicate +{ + /** + * Returns the value of the '<em><b>Project</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Project</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Project</em>' attribute. + * @see #setProject(IProject) + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#getRepositoryPredicate_Project() + * @model dataType="org.eclipse.emf.cdo.releng.predicates.Project" + * @generated + */ + IProject getProject(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate#getProject <em>Project</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Project</em>' attribute. + * @see #getProject() + * @generated + */ + void setProject(IProject value); + +} // RepositoryPredicate diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/AndPredicateImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/AndPredicateImpl.java new file mode 100644 index 0000000000..9afc3075e7 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/AndPredicateImpl.java @@ -0,0 +1,199 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.emf.cdo.releng.predicates.AndPredicate; +import org.eclipse.emf.cdo.releng.predicates.Predicate; +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; + +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.core.resources.IProject; + +import java.lang.reflect.InvocationTargetException; +import java.util.Collection; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>And Predicate</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.impl.AndPredicateImpl#getOperands <em>Operands</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class AndPredicateImpl extends MinimalEObjectImpl.Container implements AndPredicate +{ + /** + * The cached value of the '{@link #getOperands() <em>Operands</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperands() + * @generated + * @ordered + */ + protected EList<Predicate> operands; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AndPredicateImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PredicatesPackage.Literals.AND_PREDICATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Predicate> getOperands() + { + if (operands == null) + { + operands = new EObjectContainmentEList<Predicate>(Predicate.class, this, PredicatesPackage.AND_PREDICATE__OPERANDS); + } + return operands; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public boolean matches(IProject project) + { + for (Predicate operand : getOperands()) + { + if (!operand.matches(project)) + { + return false; + } + } + return true; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case PredicatesPackage.AND_PREDICATE__OPERANDS: + return ((InternalEList<?>)getOperands()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PredicatesPackage.AND_PREDICATE__OPERANDS: + return getOperands(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PredicatesPackage.AND_PREDICATE__OPERANDS: + getOperands().clear(); + getOperands().addAll((Collection<? extends Predicate>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PredicatesPackage.AND_PREDICATE__OPERANDS: + getOperands().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PredicatesPackage.AND_PREDICATE__OPERANDS: + return operands != null && !operands.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException + { + switch (operationID) + { + case PredicatesPackage.AND_PREDICATE___MATCHES__IPROJECT: + return matches((IProject)arguments.get(0)); + } + return super.eInvoke(operationID, arguments); + } + +} // AndPredicateImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/BuilderPredicateImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/BuilderPredicateImpl.java new file mode 100644 index 0000000000..a39130189b --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/BuilderPredicateImpl.java @@ -0,0 +1,227 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.emf.cdo.releng.predicates.BuilderPredicate; +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.core.resources.ICommand; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.runtime.CoreException; + +import java.lang.reflect.InvocationTargetException; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Builder Predicate</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.impl.BuilderPredicateImpl#getBuilder <em>Builder</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class BuilderPredicateImpl extends MinimalEObjectImpl.Container implements BuilderPredicate +{ + /** + * The default value of the '{@link #getBuilder() <em>Builder</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getBuilder() + * @generated + * @ordered + */ + protected static final String BUILDER_EDEFAULT = null; + + /** + * The cached value of the '{@link #getBuilder() <em>Builder</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getBuilder() + * @generated + * @ordered + */ + protected String builder = BUILDER_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected BuilderPredicateImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PredicatesPackage.Literals.BUILDER_PREDICATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getBuilder() + { + return builder; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setBuilder(String newBuilder) + { + String oldBuilder = builder; + builder = newBuilder; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PredicatesPackage.BUILDER_PREDICATE__BUILDER, oldBuilder, builder)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public boolean matches(IProject project) + { + String builder = getBuilder(); + if (builder != null) + { + try + { + for (ICommand command : project.getDescription().getBuildSpec()) + { + String name = command.getBuilderName(); + if (builder.equals(name)) + { + return true; + } + } + } + catch (CoreException ex) + { + // Ignore + } + } + return false; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PredicatesPackage.BUILDER_PREDICATE__BUILDER: + return getBuilder(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PredicatesPackage.BUILDER_PREDICATE__BUILDER: + setBuilder((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PredicatesPackage.BUILDER_PREDICATE__BUILDER: + setBuilder(BUILDER_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PredicatesPackage.BUILDER_PREDICATE__BUILDER: + return BUILDER_EDEFAULT == null ? builder != null : !BUILDER_EDEFAULT.equals(builder); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException + { + switch (operationID) + { + case PredicatesPackage.BUILDER_PREDICATE___MATCHES__IPROJECT: + return matches((IProject)arguments.get(0)); + } + return super.eInvoke(operationID, arguments); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (builder: "); + result.append(builder); + result.append(')'); + return result.toString(); + } + +} // BuilderPredicateImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/FilePredicateImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/FilePredicateImpl.java new file mode 100644 index 0000000000..4fce36e583 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/FilePredicateImpl.java @@ -0,0 +1,392 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.emf.cdo.releng.predicates.FilePredicate; +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceVisitor; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.Status; + +import java.io.BufferedInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; +import java.util.regex.Pattern; +import java.util.regex.PatternSyntaxException; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>File Predicate</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.impl.FilePredicateImpl#getFilePattern <em>File Pattern</em>}</li> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.impl.FilePredicateImpl#getContentPattern <em>Content Pattern</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class FilePredicateImpl extends MinimalEObjectImpl.Container implements FilePredicate +{ + /** + * The default value of the '{@link #getFilePattern() <em>File Pattern</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFilePattern() + * @generated + * @ordered + */ + protected static final String FILE_PATTERN_EDEFAULT = null; + + /** + * The cached value of the '{@link #getFilePattern() <em>File Pattern</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFilePattern() + * @generated + * @ordered + */ + protected String filePattern = FILE_PATTERN_EDEFAULT; + + /** + * The default value of the '{@link #getContentPattern() <em>Content Pattern</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getContentPattern() + * @generated + * @ordered + */ + protected static final String CONTENT_PATTERN_EDEFAULT = null; + + /** + * The cached value of the '{@link #getContentPattern() <em>Content Pattern</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getContentPattern() + * @generated + * @ordered + */ + protected String contentPattern = CONTENT_PATTERN_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FilePredicateImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PredicatesPackage.Literals.FILE_PREDICATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getFilePattern() + { + return filePattern; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFilePattern(String newFilePattern) + { + String oldFilePattern = filePattern; + filePattern = newFilePattern; + if (eNotificationRequired()) + { + eNotify(new ENotificationImpl(this, Notification.SET, PredicatesPackage.FILE_PREDICATE__FILE_PATTERN, + oldFilePattern, filePattern)); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getContentPattern() + { + return contentPattern; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setContentPattern(String newContentPattern) + { + String oldContentPattern = contentPattern; + contentPattern = newContentPattern; + if (eNotificationRequired()) + { + eNotify(new ENotificationImpl(this, Notification.SET, PredicatesPackage.FILE_PREDICATE__CONTENT_PATTERN, + oldContentPattern, contentPattern)); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public boolean matches(IProject project) + { + String filePattern = getFilePattern(); + if (filePattern != null) + { + StringBuilder pattern = new StringBuilder(); + for (int i = 0, length = filePattern.length(); i < length; ++i) + { + char character = filePattern.charAt(i); + if (!Character.isJavaIdentifierPart(character)) + { + if (character == '*') + { + if (i + 1 < length && filePattern.charAt(i + 1) == '*') + { + ++i; + pattern.append(".*"); + } + else + { + pattern.append("[^/]*"); + } + } + else if (character == '?') + { + pattern.append("[^/]"); + } + else + { + pattern.append('\\'); + pattern.append(character); + } + } + else + { + pattern.append(character); + } + } + + try + { + final Pattern regex = Pattern.compile(pattern.toString()); + final CoreException matched = new CoreException(Status.OK_STATUS); + final Pattern contentPattern = getContentPattern() == null ? null : Pattern.compile(getContentPattern()); + try + { + project.accept(new IResourceVisitor() + { + public boolean visit(IResource resource) throws CoreException + { + String path = resource.getProjectRelativePath().toString(); + if (regex.matcher(path).matches()) + { + if (contentPattern == null) + { + throw matched; + } + + if (resource.getType() == IResource.FILE) + { + IFile file = (IFile)resource; + String charset = file.getCharset(); + InputStream inputStream = null; + try + { + inputStream = file.getContents(); + BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream); + byte[] input = new byte[bufferedInputStream.available()]; + bufferedInputStream.read(input); + String contents = charset == null ? new String(input) : new String(input, charset); + if (contentPattern.matcher(contents).find()) + { + throw matched; + } + } + catch (IOException ex) + { + // Ignore. + } + finally + { + if (inputStream != null) + { + try + { + inputStream.close(); + } + catch (IOException ex) + { + // Ignore. + } + } + } + } + } + return true; + } + }); + } + catch (CoreException ex) + { + if (ex == matched) + { + return true; + } + } + } + catch (PatternSyntaxException exception) + { + // Ignore + } + } + return false; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PredicatesPackage.FILE_PREDICATE__FILE_PATTERN: + return getFilePattern(); + case PredicatesPackage.FILE_PREDICATE__CONTENT_PATTERN: + return getContentPattern(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PredicatesPackage.FILE_PREDICATE__FILE_PATTERN: + setFilePattern((String)newValue); + return; + case PredicatesPackage.FILE_PREDICATE__CONTENT_PATTERN: + setContentPattern((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PredicatesPackage.FILE_PREDICATE__FILE_PATTERN: + setFilePattern(FILE_PATTERN_EDEFAULT); + return; + case PredicatesPackage.FILE_PREDICATE__CONTENT_PATTERN: + setContentPattern(CONTENT_PATTERN_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PredicatesPackage.FILE_PREDICATE__FILE_PATTERN: + return FILE_PATTERN_EDEFAULT == null ? filePattern != null : !FILE_PATTERN_EDEFAULT.equals(filePattern); + case PredicatesPackage.FILE_PREDICATE__CONTENT_PATTERN: + return CONTENT_PATTERN_EDEFAULT == null ? contentPattern != null : !CONTENT_PATTERN_EDEFAULT + .equals(contentPattern); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException + { + switch (operationID) + { + case PredicatesPackage.FILE_PREDICATE___MATCHES__IPROJECT: + return matches((IProject)arguments.get(0)); + } + return super.eInvoke(operationID, arguments); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) + { + return super.toString(); + } + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (filePattern: "); + result.append(filePattern); + result.append(", contentPattern: "); + result.append(contentPattern); + result.append(')'); + return result.toString(); + } + +} // FilePredicateImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/NamePredicateImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/NamePredicateImpl.java new file mode 100644 index 0000000000..9ffaa7f784 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/NamePredicateImpl.java @@ -0,0 +1,206 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.emf.cdo.releng.predicates.NamePredicate; +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.core.resources.IProject; + +import java.lang.reflect.InvocationTargetException; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Name Predicate</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.impl.NamePredicateImpl#getPattern <em>Pattern</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NamePredicateImpl extends MinimalEObjectImpl.Container implements NamePredicate +{ + /** + * The default value of the '{@link #getPattern() <em>Pattern</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPattern() + * @generated + * @ordered + */ + protected static final String PATTERN_EDEFAULT = null; + + /** + * The cached value of the '{@link #getPattern() <em>Pattern</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPattern() + * @generated + * @ordered + */ + protected String pattern = PATTERN_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NamePredicateImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PredicatesPackage.Literals.NAME_PREDICATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getPattern() + { + return pattern; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setPattern(String newPattern) + { + String oldPattern = pattern; + pattern = newPattern; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PredicatesPackage.NAME_PREDICATE__PATTERN, oldPattern, pattern)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public boolean matches(IProject project) + { + return pattern != null && project != null && project.getName().matches(pattern); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PredicatesPackage.NAME_PREDICATE__PATTERN: + return getPattern(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PredicatesPackage.NAME_PREDICATE__PATTERN: + setPattern((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PredicatesPackage.NAME_PREDICATE__PATTERN: + setPattern(PATTERN_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PredicatesPackage.NAME_PREDICATE__PATTERN: + return PATTERN_EDEFAULT == null ? pattern != null : !PATTERN_EDEFAULT.equals(pattern); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException + { + switch (operationID) + { + case PredicatesPackage.NAME_PREDICATE___MATCHES__IPROJECT: + return matches((IProject)arguments.get(0)); + } + return super.eInvoke(operationID, arguments); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (pattern: "); + result.append(pattern); + result.append(')'); + return result.toString(); + } + +} // NamePredicateImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/NaturePredicateImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/NaturePredicateImpl.java new file mode 100644 index 0000000000..90efa6ca20 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/NaturePredicateImpl.java @@ -0,0 +1,222 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.emf.cdo.releng.predicates.NaturePredicate; +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.runtime.CoreException; + +import java.lang.reflect.InvocationTargetException; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Nature Predicate</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.impl.NaturePredicateImpl#getNature <em>Nature</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NaturePredicateImpl extends MinimalEObjectImpl.Container implements NaturePredicate +{ + /** + * The default value of the '{@link #getNature() <em>Nature</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNature() + * @generated + * @ordered + */ + protected static final String NATURE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getNature() <em>Nature</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNature() + * @generated + * @ordered + */ + protected String nature = NATURE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NaturePredicateImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PredicatesPackage.Literals.NATURE_PREDICATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getNature() + { + return nature; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setNature(String newNature) + { + String oldNature = nature; + nature = newNature; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PredicatesPackage.NATURE_PREDICATE__NATURE, oldNature, nature)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public boolean matches(IProject project) + { + try + { + String[] natureIds = project.getDescription().getNatureIds(); + for (String natureId : natureIds) + { + if (natureId.equals(nature)) + { + return true; + } + } + } + catch (CoreException ex) + { + // Ignore + } + return false; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PredicatesPackage.NATURE_PREDICATE__NATURE: + return getNature(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PredicatesPackage.NATURE_PREDICATE__NATURE: + setNature((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PredicatesPackage.NATURE_PREDICATE__NATURE: + setNature(NATURE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PredicatesPackage.NATURE_PREDICATE__NATURE: + return NATURE_EDEFAULT == null ? nature != null : !NATURE_EDEFAULT.equals(nature); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException + { + switch (operationID) + { + case PredicatesPackage.NATURE_PREDICATE___MATCHES__IPROJECT: + return matches((IProject)arguments.get(0)); + } + return super.eInvoke(operationID, arguments); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (nature: "); + result.append(nature); + result.append(')'); + return result.toString(); + } + +} // NaturePredicateImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/NotPredicateImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/NotPredicateImpl.java new file mode 100644 index 0000000000..188006e1b5 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/NotPredicateImpl.java @@ -0,0 +1,225 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.emf.cdo.releng.predicates.NotPredicate; +import org.eclipse.emf.cdo.releng.predicates.Predicate; +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.core.resources.IProject; + +import java.lang.reflect.InvocationTargetException; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Not Predicate</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.impl.NotPredicateImpl#getOperand <em>Operand</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NotPredicateImpl extends MinimalEObjectImpl.Container implements NotPredicate +{ + /** + * The cached value of the '{@link #getOperand() <em>Operand</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperand() + * @generated + * @ordered + */ + protected Predicate operand; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NotPredicateImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PredicatesPackage.Literals.NOT_PREDICATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Predicate getOperand() + { + return operand; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetOperand(Predicate newOperand, NotificationChain msgs) + { + Predicate oldOperand = operand; + operand = newOperand; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PredicatesPackage.NOT_PREDICATE__OPERAND, oldOperand, newOperand); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOperand(Predicate newOperand) + { + if (newOperand != operand) + { + NotificationChain msgs = null; + if (operand != null) + msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PredicatesPackage.NOT_PREDICATE__OPERAND, null, msgs); + if (newOperand != null) + msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PredicatesPackage.NOT_PREDICATE__OPERAND, null, msgs); + msgs = basicSetOperand(newOperand, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PredicatesPackage.NOT_PREDICATE__OPERAND, newOperand, newOperand)); + } + + /** + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public boolean matches(IProject project) + { + Predicate operand = getOperand(); + return operand == null || !operand.matches(project); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case PredicatesPackage.NOT_PREDICATE__OPERAND: + return basicSetOperand(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PredicatesPackage.NOT_PREDICATE__OPERAND: + return getOperand(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PredicatesPackage.NOT_PREDICATE__OPERAND: + setOperand((Predicate)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PredicatesPackage.NOT_PREDICATE__OPERAND: + setOperand((Predicate)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PredicatesPackage.NOT_PREDICATE__OPERAND: + return operand != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException + { + switch (operationID) + { + case PredicatesPackage.NOT_PREDICATE___MATCHES__IPROJECT: + return matches((IProject)arguments.get(0)); + } + return super.eInvoke(operationID, arguments); + } + +} // NotPredicateImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/OrPredicateImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/OrPredicateImpl.java new file mode 100644 index 0000000000..808b6dee95 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/OrPredicateImpl.java @@ -0,0 +1,199 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.emf.cdo.releng.predicates.OrPredicate; +import org.eclipse.emf.cdo.releng.predicates.Predicate; +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; + +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.core.resources.IProject; + +import java.lang.reflect.InvocationTargetException; +import java.util.Collection; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Or Predicate</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.impl.OrPredicateImpl#getOperands <em>Operands</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class OrPredicateImpl extends MinimalEObjectImpl.Container implements OrPredicate +{ + /** + * The cached value of the '{@link #getOperands() <em>Operands</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperands() + * @generated + * @ordered + */ + protected EList<Predicate> operands; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OrPredicateImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PredicatesPackage.Literals.OR_PREDICATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Predicate> getOperands() + { + if (operands == null) + { + operands = new EObjectContainmentEList<Predicate>(Predicate.class, this, PredicatesPackage.OR_PREDICATE__OPERANDS); + } + return operands; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public boolean matches(IProject project) + { + for (Predicate operand : getOperands()) + { + if (operand.matches(project)) + { + return true; + } + } + return false; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case PredicatesPackage.OR_PREDICATE__OPERANDS: + return ((InternalEList<?>)getOperands()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PredicatesPackage.OR_PREDICATE__OPERANDS: + return getOperands(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PredicatesPackage.OR_PREDICATE__OPERANDS: + getOperands().clear(); + getOperands().addAll((Collection<? extends Predicate>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PredicatesPackage.OR_PREDICATE__OPERANDS: + getOperands().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PredicatesPackage.OR_PREDICATE__OPERANDS: + return operands != null && !operands.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException + { + switch (operationID) + { + case PredicatesPackage.OR_PREDICATE___MATCHES__IPROJECT: + return matches((IProject)arguments.get(0)); + } + return super.eInvoke(operationID, arguments); + } + +} // OrPredicateImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/PredicatesFactoryImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/PredicatesFactoryImpl.java new file mode 100644 index 0000000000..856beb9893 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/PredicatesFactoryImpl.java @@ -0,0 +1,265 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.emf.cdo.releng.predicates.AndPredicate; +import org.eclipse.emf.cdo.releng.predicates.BuilderPredicate; +import org.eclipse.emf.cdo.releng.predicates.NamePredicate; +import org.eclipse.emf.cdo.releng.predicates.NaturePredicate; +import org.eclipse.emf.cdo.releng.predicates.NotPredicate; +import org.eclipse.emf.cdo.releng.predicates.OrPredicate; +import org.eclipse.emf.cdo.releng.predicates.PredicatesFactory; +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; +import org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.impl.EFactoryImpl; +import org.eclipse.emf.ecore.plugin.EcorePlugin; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.emf.cdo.releng.predicates.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class PredicatesFactoryImpl extends EFactoryImpl implements PredicatesFactory +{ + private static final IWorkspaceRoot WORKSPACE_ROOT = ResourcesPlugin.getWorkspace().getRoot(); + + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static PredicatesFactory init() + { + try + { + PredicatesFactory thePredicatesFactory = (PredicatesFactory)EPackage.Registry.INSTANCE.getEFactory(PredicatesPackage.eNS_URI); + if (thePredicatesFactory != null) + { + return thePredicatesFactory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new PredicatesFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PredicatesFactoryImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + case PredicatesPackage.NAME_PREDICATE: return createNamePredicate(); + case PredicatesPackage.REPOSITORY_PREDICATE: return createRepositoryPredicate(); + case PredicatesPackage.AND_PREDICATE: return createAndPredicate(); + case PredicatesPackage.OR_PREDICATE: return createOrPredicate(); + case PredicatesPackage.NOT_PREDICATE: return createNotPredicate(); + case PredicatesPackage.NATURE_PREDICATE: return createNaturePredicate(); + case PredicatesPackage.BUILDER_PREDICATE: return createBuilderPredicate(); + case PredicatesPackage.FILE_PREDICATE: return createFilePredicate(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) + { + switch (eDataType.getClassifierID()) + { + case PredicatesPackage.PROJECT: + return createProjectFromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) + { + switch (eDataType.getClassifierID()) + { + case PredicatesPackage.PROJECT: + return convertProjectToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NamePredicate createNamePredicate() + { + NamePredicateImpl namePredicate = new NamePredicateImpl(); + return namePredicate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RepositoryPredicate createRepositoryPredicate() + { + RepositoryPredicateImpl repositoryPredicate = new RepositoryPredicateImpl(); + return repositoryPredicate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AndPredicate createAndPredicate() + { + AndPredicateImpl andPredicate = new AndPredicateImpl(); + return andPredicate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OrPredicate createOrPredicate() + { + OrPredicateImpl orPredicate = new OrPredicateImpl(); + return orPredicate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotPredicate createNotPredicate() + { + NotPredicateImpl notPredicate = new NotPredicateImpl(); + return notPredicate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NaturePredicate createNaturePredicate() + { + NaturePredicateImpl naturePredicate = new NaturePredicateImpl(); + return naturePredicate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BuilderPredicate createBuilderPredicate() + { + BuilderPredicateImpl builderPredicate = new BuilderPredicateImpl(); + return builderPredicate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FilePredicate createFilePredicate() + { + FilePredicateImpl filePredicate = new FilePredicateImpl(); + return filePredicate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public IProject createProjectFromString(EDataType eDataType, String initialValue) + { + if (initialValue == null) + { + return null; + } + return WORKSPACE_ROOT.getProject(initialValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public String convertProjectToString(EDataType eDataType, Object instanceValue) + { + if (instanceValue == null) + { + return null; + } + IProject project = (IProject)instanceValue; + return project.getName(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PredicatesPackage getPredicatesPackage() + { + return (PredicatesPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static PredicatesPackage getPackage() + { + return PredicatesPackage.eINSTANCE; + } + +} // PredicatesFactoryImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/PredicatesPackageImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/PredicatesPackageImpl.java new file mode 100644 index 0000000000..ed68ffe2fc --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/PredicatesPackageImpl.java @@ -0,0 +1,507 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.core.resources.IProject; + +import org.eclipse.emf.cdo.releng.predicates.AndPredicate; +import org.eclipse.emf.cdo.releng.predicates.BuilderPredicate; +import org.eclipse.emf.cdo.releng.predicates.FilePredicate; +import org.eclipse.emf.cdo.releng.predicates.NamePredicate; +import org.eclipse.emf.cdo.releng.predicates.NaturePredicate; +import org.eclipse.emf.cdo.releng.predicates.NotPredicate; +import org.eclipse.emf.cdo.releng.predicates.OrPredicate; +import org.eclipse.emf.cdo.releng.predicates.Predicate; +import org.eclipse.emf.cdo.releng.predicates.PredicatesFactory; +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; +import org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EOperation; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class PredicatesPackageImpl extends EPackageImpl implements PredicatesPackage +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass predicateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass namePredicateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass repositoryPredicateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass andPredicateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass orPredicateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass notPredicateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass naturePredicateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass builderPredicateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass filePredicateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EDataType projectEDataType = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage#eNS_URI + * @see #init() + * @generated + */ + private PredicatesPackageImpl() + { + super(eNS_URI, PredicatesFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link PredicatesPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static PredicatesPackage init() + { + if (isInited) return (PredicatesPackage)EPackage.Registry.INSTANCE.getEPackage(PredicatesPackage.eNS_URI); + + // Obtain or create and register package + PredicatesPackageImpl thePredicatesPackage = (PredicatesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PredicatesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PredicatesPackageImpl()); + + isInited = true; + + // Create package meta-data objects + thePredicatesPackage.createPackageContents(); + + // Initialize created meta-data + thePredicatesPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + thePredicatesPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(PredicatesPackage.eNS_URI, thePredicatesPackage); + return thePredicatesPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getPredicate() + { + return predicateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EOperation getPredicate__Matches__IProject() + { + return predicateEClass.getEOperations().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNamePredicate() + { + return namePredicateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getNamePredicate_Pattern() + { + return (EAttribute)namePredicateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getRepositoryPredicate() + { + return repositoryPredicateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getRepositoryPredicate_Project() + { + return (EAttribute)repositoryPredicateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getAndPredicate() + { + return andPredicateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getAndPredicate_Operands() + { + return (EReference)andPredicateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getOrPredicate() + { + return orPredicateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getOrPredicate_Operands() + { + return (EReference)orPredicateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNotPredicate() + { + return notPredicateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNotPredicate_Operand() + { + return (EReference)notPredicateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNaturePredicate() + { + return naturePredicateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getNaturePredicate_Nature() + { + return (EAttribute)naturePredicateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getBuilderPredicate() + { + return builderPredicateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getBuilderPredicate_Builder() + { + return (EAttribute)builderPredicateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFilePredicate() + { + return filePredicateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFilePredicate_FilePattern() + { + return (EAttribute)filePredicateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFilePredicate_ContentPattern() + { + return (EAttribute)filePredicateEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EDataType getProject() + { + return projectEDataType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PredicatesFactory getPredicatesFactory() + { + return (PredicatesFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() + { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + predicateEClass = createEClass(PREDICATE); + createEOperation(predicateEClass, PREDICATE___MATCHES__IPROJECT); + + namePredicateEClass = createEClass(NAME_PREDICATE); + createEAttribute(namePredicateEClass, NAME_PREDICATE__PATTERN); + + repositoryPredicateEClass = createEClass(REPOSITORY_PREDICATE); + createEAttribute(repositoryPredicateEClass, REPOSITORY_PREDICATE__PROJECT); + + andPredicateEClass = createEClass(AND_PREDICATE); + createEReference(andPredicateEClass, AND_PREDICATE__OPERANDS); + + orPredicateEClass = createEClass(OR_PREDICATE); + createEReference(orPredicateEClass, OR_PREDICATE__OPERANDS); + + notPredicateEClass = createEClass(NOT_PREDICATE); + createEReference(notPredicateEClass, NOT_PREDICATE__OPERAND); + + naturePredicateEClass = createEClass(NATURE_PREDICATE); + createEAttribute(naturePredicateEClass, NATURE_PREDICATE__NATURE); + + builderPredicateEClass = createEClass(BUILDER_PREDICATE); + createEAttribute(builderPredicateEClass, BUILDER_PREDICATE__BUILDER); + + filePredicateEClass = createEClass(FILE_PREDICATE); + createEAttribute(filePredicateEClass, FILE_PREDICATE__FILE_PATTERN); + createEAttribute(filePredicateEClass, FILE_PREDICATE__CONTENT_PATTERN); + + // Create data types + projectEDataType = createEDataType(PROJECT); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() + { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + namePredicateEClass.getESuperTypes().add(this.getPredicate()); + repositoryPredicateEClass.getESuperTypes().add(this.getPredicate()); + andPredicateEClass.getESuperTypes().add(this.getPredicate()); + orPredicateEClass.getESuperTypes().add(this.getPredicate()); + notPredicateEClass.getESuperTypes().add(this.getPredicate()); + naturePredicateEClass.getESuperTypes().add(this.getPredicate()); + builderPredicateEClass.getESuperTypes().add(this.getPredicate()); + filePredicateEClass.getESuperTypes().add(this.getPredicate()); + + // Initialize classes, features, and operations; add parameters + initEClass(predicateEClass, Predicate.class, "Predicate", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + EOperation op = initEOperation(getPredicate__Matches__IProject(), ecorePackage.getEBoolean(), "matches", 0, 1, IS_UNIQUE, IS_ORDERED); + addEParameter(op, this.getProject(), "project", 0, 1, IS_UNIQUE, IS_ORDERED); + + initEClass(namePredicateEClass, NamePredicate.class, "NamePredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNamePredicate_Pattern(), ecorePackage.getEString(), "pattern", null, 1, 1, NamePredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(repositoryPredicateEClass, RepositoryPredicate.class, "RepositoryPredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getRepositoryPredicate_Project(), this.getProject(), "project", null, 0, 1, RepositoryPredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(andPredicateEClass, AndPredicate.class, "AndPredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getAndPredicate_Operands(), this.getPredicate(), null, "operands", null, 0, -1, AndPredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(orPredicateEClass, OrPredicate.class, "OrPredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getOrPredicate_Operands(), this.getPredicate(), null, "operands", null, 0, -1, OrPredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(notPredicateEClass, NotPredicate.class, "NotPredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNotPredicate_Operand(), this.getPredicate(), null, "operand", null, 0, 1, NotPredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(naturePredicateEClass, NaturePredicate.class, "NaturePredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNaturePredicate_Nature(), ecorePackage.getEString(), "nature", null, 1, 1, NaturePredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(builderPredicateEClass, BuilderPredicate.class, "BuilderPredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getBuilderPredicate_Builder(), ecorePackage.getEString(), "builder", null, 1, 1, BuilderPredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(filePredicateEClass, FilePredicate.class, "FilePredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getFilePredicate_FilePattern(), ecorePackage.getEString(), "filePattern", null, 1, 1, FilePredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getFilePredicate_ContentPattern(), ecorePackage.getEString(), "contentPattern", null, 0, 1, FilePredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize data types + initEDataType(projectEDataType, IProject.class, "Project", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); + + // Create resource + createResource(eNS_URI); + } + +} //PredicatesPackageImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/RepositoryPredicateImpl.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/RepositoryPredicateImpl.java new file mode 100644 index 0000000000..71ea579298 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/impl/RepositoryPredicateImpl.java @@ -0,0 +1,229 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.impl; + +import org.eclipse.emf.cdo.releng.predicates.PredicatesPackage; +import org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.runtime.IPath; +import org.eclipse.egit.core.GitProvider; +import org.eclipse.egit.core.project.GitProjectData; +import org.eclipse.egit.core.project.RepositoryMapping; +import org.eclipse.team.core.RepositoryProvider; + +import java.lang.reflect.InvocationTargetException; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Repository Predicate</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.predicates.impl.RepositoryPredicateImpl#getProject <em>Project</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class RepositoryPredicateImpl extends MinimalEObjectImpl.Container implements RepositoryPredicate +{ + /** + * The default value of the '{@link #getProject() <em>Project</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getProject() + * @generated + * @ordered + */ + protected static final IProject PROJECT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getProject() <em>Project</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getProject() + * @generated + * @ordered + */ + protected IProject project = PROJECT_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RepositoryPredicateImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PredicatesPackage.Literals.REPOSITORY_PREDICATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IProject getProject() + { + return project; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setProject(IProject newProject) + { + IProject oldProject = project; + project = newProject; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PredicatesPackage.REPOSITORY_PREDICATE__PROJECT, oldProject, project)); + } + + private IPath getGitDirAbsolutePath(IProject project) + { + if (project != null) + { + RepositoryProvider provider = RepositoryProvider.getProvider(project); + if (provider instanceof GitProvider) + { + GitProvider gitProvider = (GitProvider)provider; + GitProjectData data = gitProvider.getData(); + RepositoryMapping repositoryMapping = data.getRepositoryMapping(project); + return repositoryMapping.getGitDirAbsolutePath(); + } + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + public boolean matches(IProject project) + { + IPath prototypeGitDirAbsolutePath = getGitDirAbsolutePath(getProject()); + IPath gitDirAbsolutePath = getGitDirAbsolutePath(project); + return prototypeGitDirAbsolutePath != null && prototypeGitDirAbsolutePath.equals(gitDirAbsolutePath); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PredicatesPackage.REPOSITORY_PREDICATE__PROJECT: + return getProject(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PredicatesPackage.REPOSITORY_PREDICATE__PROJECT: + setProject((IProject)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PredicatesPackage.REPOSITORY_PREDICATE__PROJECT: + setProject(PROJECT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PredicatesPackage.REPOSITORY_PREDICATE__PROJECT: + return PROJECT_EDEFAULT == null ? project != null : !PROJECT_EDEFAULT.equals(project); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException + { + switch (operationID) + { + case PredicatesPackage.REPOSITORY_PREDICATE___MATCHES__IPROJECT: + return matches((IProject)arguments.get(0)); + } + return super.eInvoke(operationID, arguments); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (project: "); + result.append(project); + result.append(')'); + return result.toString(); + } + +} // RepositoryPredicateImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/util/PredicatesAdapterFactory.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/util/PredicatesAdapterFactory.java new file mode 100644 index 0000000000..c1e7d939f7 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/util/PredicatesAdapterFactory.java @@ -0,0 +1,292 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.util; + +import org.eclipse.emf.cdo.releng.predicates.*; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage + * @generated + */ +public class PredicatesAdapterFactory extends AdapterFactoryImpl +{ + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static PredicatesPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PredicatesAdapterFactory() + { + if (modelPackage == null) + { + modelPackage = PredicatesPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) + { + if (object == modelPackage) + { + return true; + } + if (object instanceof EObject) + { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PredicatesSwitch<Adapter> modelSwitch = + new PredicatesSwitch<Adapter>() + { + @Override + public Adapter casePredicate(Predicate object) + { + return createPredicateAdapter(); + } + @Override + public Adapter caseNamePredicate(NamePredicate object) + { + return createNamePredicateAdapter(); + } + @Override + public Adapter caseRepositoryPredicate(RepositoryPredicate object) + { + return createRepositoryPredicateAdapter(); + } + @Override + public Adapter caseAndPredicate(AndPredicate object) + { + return createAndPredicateAdapter(); + } + @Override + public Adapter caseOrPredicate(OrPredicate object) + { + return createOrPredicateAdapter(); + } + @Override + public Adapter caseNotPredicate(NotPredicate object) + { + return createNotPredicateAdapter(); + } + @Override + public Adapter caseNaturePredicate(NaturePredicate object) + { + return createNaturePredicateAdapter(); + } + @Override + public Adapter caseBuilderPredicate(BuilderPredicate object) + { + return createBuilderPredicateAdapter(); + } + @Override + public Adapter caseFilePredicate(FilePredicate object) + { + return createFilePredicateAdapter(); + } + @Override + public Adapter defaultCase(EObject object) + { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) + { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.releng.predicates.Predicate <em>Predicate</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.cdo.releng.predicates.Predicate + * @generated + */ + public Adapter createPredicateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.releng.predicates.NamePredicate <em>Name Predicate</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.cdo.releng.predicates.NamePredicate + * @generated + */ + public Adapter createNamePredicateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate <em>Repository Predicate</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.cdo.releng.predicates.RepositoryPredicate + * @generated + */ + public Adapter createRepositoryPredicateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.releng.predicates.AndPredicate <em>And Predicate</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.cdo.releng.predicates.AndPredicate + * @generated + */ + public Adapter createAndPredicateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.releng.predicates.OrPredicate <em>Or Predicate</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.cdo.releng.predicates.OrPredicate + * @generated + */ + public Adapter createOrPredicateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.releng.predicates.NotPredicate <em>Not Predicate</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.cdo.releng.predicates.NotPredicate + * @generated + */ + public Adapter createNotPredicateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.releng.predicates.NaturePredicate <em>Nature Predicate</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.cdo.releng.predicates.NaturePredicate + * @generated + */ + public Adapter createNaturePredicateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.releng.predicates.BuilderPredicate <em>Builder Predicate</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.cdo.releng.predicates.BuilderPredicate + * @generated + */ + public Adapter createBuilderPredicateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.releng.predicates.FilePredicate <em>File Predicate</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.cdo.releng.predicates.FilePredicate + * @generated + */ + public Adapter createFilePredicateAdapter() + { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() + { + return null; + } + +} //PredicatesAdapterFactory diff --git a/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/util/PredicatesSwitch.java b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/util/PredicatesSwitch.java new file mode 100644 index 0000000000..359d1eac38 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.predicates/src/org/eclipse/emf/cdo/releng/predicates/util/PredicatesSwitch.java @@ -0,0 +1,311 @@ +/** + */ +package org.eclipse.emf.cdo.releng.predicates.util; + +import org.eclipse.emf.cdo.releng.predicates.*; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see org.eclipse.emf.cdo.releng.predicates.PredicatesPackage + * @generated + */ +public class PredicatesSwitch<T> extends Switch<T> +{ + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static PredicatesPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PredicatesSwitch() + { + if (modelPackage == null) + { + modelPackage = PredicatesPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @parameter ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) + { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) + { + switch (classifierID) + { + case PredicatesPackage.PREDICATE: + { + Predicate predicate = (Predicate)theEObject; + T result = casePredicate(predicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PredicatesPackage.NAME_PREDICATE: + { + NamePredicate namePredicate = (NamePredicate)theEObject; + T result = caseNamePredicate(namePredicate); + if (result == null) result = casePredicate(namePredicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PredicatesPackage.REPOSITORY_PREDICATE: + { + RepositoryPredicate repositoryPredicate = (RepositoryPredicate)theEObject; + T result = caseRepositoryPredicate(repositoryPredicate); + if (result == null) result = casePredicate(repositoryPredicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PredicatesPackage.AND_PREDICATE: + { + AndPredicate andPredicate = (AndPredicate)theEObject; + T result = caseAndPredicate(andPredicate); + if (result == null) result = casePredicate(andPredicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PredicatesPackage.OR_PREDICATE: + { + OrPredicate orPredicate = (OrPredicate)theEObject; + T result = caseOrPredicate(orPredicate); + if (result == null) result = casePredicate(orPredicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PredicatesPackage.NOT_PREDICATE: + { + NotPredicate notPredicate = (NotPredicate)theEObject; + T result = caseNotPredicate(notPredicate); + if (result == null) result = casePredicate(notPredicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PredicatesPackage.NATURE_PREDICATE: + { + NaturePredicate naturePredicate = (NaturePredicate)theEObject; + T result = caseNaturePredicate(naturePredicate); + if (result == null) result = casePredicate(naturePredicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PredicatesPackage.BUILDER_PREDICATE: + { + BuilderPredicate builderPredicate = (BuilderPredicate)theEObject; + T result = caseBuilderPredicate(builderPredicate); + if (result == null) result = casePredicate(builderPredicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PredicatesPackage.FILE_PREDICATE: + { + FilePredicate filePredicate = (FilePredicate)theEObject; + T result = caseFilePredicate(filePredicate); + if (result == null) result = casePredicate(filePredicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Predicate</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Predicate</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePredicate(Predicate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Name Predicate</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Name Predicate</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNamePredicate(NamePredicate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Repository Predicate</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Repository Predicate</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRepositoryPredicate(RepositoryPredicate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>And Predicate</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>And Predicate</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAndPredicate(AndPredicate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Or Predicate</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Or Predicate</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseOrPredicate(OrPredicate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Not Predicate</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Not Predicate</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNotPredicate(NotPredicate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Nature Predicate</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Nature Predicate</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNaturePredicate(NaturePredicate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Builder Predicate</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Builder Predicate</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBuilderPredicate(BuilderPredicate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>File Predicate</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>File Predicate</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFilePredicate(FilePredicate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) + { + return null; + } + +} //PredicatesSwitch |