Skip to content

Commit

Permalink
Merge pull request #95 from moosetechnology/parametric
Browse files Browse the repository at this point in the history
Parametric
  • Loading branch information
LABSARI authored Oct 6, 2023
2 parents d7abf14 + 248e992 commit 279eb94
Show file tree
Hide file tree
Showing 159 changed files with 4,301 additions and 1,847 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import ch.akuhn.fame.FameDescription;
import ch.akuhn.fame.FamePackage;
import ch.akuhn.fame.FameProperty;

import org.moosetechnology.model.famix.famixreplication.Replica;
import org.moosetechnology.model.famix.famixtraits.TAccess;
import org.moosetechnology.model.famix.famixtraits.TAccessible;
Expand All @@ -23,7 +22,7 @@ public class Access extends Entity implements TAccess, TAssociation, TAssociatio

private Boolean isStub;

private Boolean isWrite = false;
private Boolean isWrite;

private TAssociation next;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import ch.akuhn.fame.FameProperty;
import ch.akuhn.fame.internal.MultivalueSet;
import java.util.*;

import org.moosetechnology.model.famix.famixtraits.TAnnotationInstance;
import org.moosetechnology.model.famix.famixtraits.TAnnotationInstanceAttribute;
import org.moosetechnology.model.famix.famixtraits.TAnnotationType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import ch.akuhn.fame.FameDescription;
import ch.akuhn.fame.FamePackage;
import ch.akuhn.fame.FameProperty;

import org.moosetechnology.model.famix.famixtraits.TAnnotationInstanceAttribute;
import org.moosetechnology.model.famix.famixtraits.TAnnotationTypeAttribute;
import org.moosetechnology.model.famix.famixtraits.TTypedAnnotationInstanceAttribute;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import ch.akuhn.fame.FameProperty;
import ch.akuhn.fame.internal.MultivalueSet;
import java.util.*;

import org.moosetechnology.model.famix.famixtraits.TAnnotationType;
import org.moosetechnology.model.famix.famixtraits.TAttribute;
import org.moosetechnology.model.famix.famixtraits.TComment;
Expand Down Expand Up @@ -278,8 +277,8 @@ public boolean hasInstances() {
return !getInstances().isEmpty();
}

@FameProperty(name = "isPackage", derived = true)
public Boolean getIsPackage() {
@FameProperty(name = "isPackageVisibility", derived = true)
public Boolean getIsPackageVisibility() {
// TODO: this is a derived property, implement this method manually.
throw new UnsupportedOperationException("Not yet implemented!");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import ch.akuhn.fame.FameProperty;
import ch.akuhn.fame.internal.MultivalueSet;
import java.util.*;

import org.moosetechnology.model.famix.famixreplication.Replica;
import org.moosetechnology.model.famix.famixtraits.TAccess;
import org.moosetechnology.model.famix.famixtraits.TAccessible;
Expand Down Expand Up @@ -220,12 +219,6 @@ public Number getFanOut() {
throw new UnsupportedOperationException("Not yet implemented!");
}

@FameProperty(name = "hasClassScope", derived = true)
public Boolean getHasClassScope() {
// TODO: this is a derived property, implement this method manually.
throw new UnsupportedOperationException("Not yet implemented!");
}

@FameProperty(name = "hasComments", derived = true)
public Boolean getHasComments() {
// TODO: this is a derived property, implement this method manually.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import ch.akuhn.fame.FameProperty;
import ch.akuhn.fame.internal.MultivalueSet;
import java.util.*;

import org.moosetechnology.model.famix.famixreplication.Replica;
import org.moosetechnology.model.famix.famixtraits.TAccess;
import org.moosetechnology.model.famix.famixtraits.TAccessible;
Expand Down Expand Up @@ -159,12 +158,6 @@ public Number getFanOut() {
throw new UnsupportedOperationException("Not yet implemented!");
}

@FameProperty(name = "hasClassScope", derived = true)
public Boolean getHasClassScope() {
// TODO: this is a derived property, implement this method manually.
throw new UnsupportedOperationException("Not yet implemented!");
}

@FameProperty(name = "hasComments", derived = true)
public Boolean getHasComments() {
// TODO: this is a derived property, implement this method manually.
Expand Down Expand Up @@ -252,9 +245,8 @@ public void setIsFinal(Boolean isFinal) {
this.isFinal = isFinal;
}


@FameProperty(name = "isPackage", derived = true)
public Boolean getIsPackage() {
@FameProperty(name = "getIsPackageVisibility", derived = true)
public Boolean getIsPackageVisibility() {
return this.visibility.equals("package");
}

Expand Down
133 changes: 118 additions & 15 deletions gen/org/moosetechnology/model/famix/famixjavaentities/Class.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import ch.akuhn.fame.FameProperty;
import ch.akuhn.fame.internal.MultivalueSet;
import java.util.*;

import org.moosetechnology.model.famix.famixreplication.Replica;
import org.moosetechnology.model.famix.famixtraits.TAttribute;
import org.moosetechnology.model.famix.famixtraits.TCanBeAbstract;
Expand All @@ -17,6 +16,8 @@
import org.moosetechnology.model.famix.famixtraits.TComment;
import org.moosetechnology.model.famix.famixtraits.THasVisibility;
import org.moosetechnology.model.famix.famixtraits.TImplementation;
import org.moosetechnology.model.famix.famixtraits.TImport;
import org.moosetechnology.model.famix.famixtraits.TImportable;
import org.moosetechnology.model.famix.famixtraits.TInheritance;
import org.moosetechnology.model.famix.famixtraits.TInvocation;
import org.moosetechnology.model.famix.famixtraits.TInvocationsReceiver;
Expand All @@ -33,6 +34,7 @@
import org.moosetechnology.model.famix.famixtraits.TTypedEntity;
import org.moosetechnology.model.famix.famixtraits.TWithAttributes;
import org.moosetechnology.model.famix.famixtraits.TWithComments;
import org.moosetechnology.model.famix.famixtraits.TWithImports;
import org.moosetechnology.model.famix.famixtraits.TWithInheritances;
import org.moosetechnology.model.famix.famixtraits.TWithMethods;
import org.moosetechnology.model.famix.famixtraits.TWithTypes;
Expand All @@ -41,23 +43,25 @@

@FamePackage("Famix-Java-Entities")
@FameDescription("Class")
public class Class extends Type implements TCanBeAbstract, TCanBeClassSide, TCanBeFinal, TCanImplement, TClass, TClassMetrics, TEntityMetaLevelDependency, THasVisibility, TInvocationsReceiver, TLCOMMetrics, TNamedEntity, TPackageable, TReferenceable, TSourceEntity, TType, TWithAttributes, TWithComments, TWithInheritances, TWithMethods {
public class Class extends Type implements TCanBeAbstract, TCanBeClassSide, TCanBeFinal, TCanImplement, TClass, TClassMetrics, TEntityMetaLevelDependency, THasVisibility, TImportable, TInvocationsReceiver, TLCOMMetrics, TNamedEntity, TPackageable, TReferenceable, TSourceEntity, TType, TWithAttributes, TWithComments, TWithImports, TWithInheritances, TWithMethods {

private Boolean isInterface = false;
private Boolean isInterface;

private Collection<TAttribute> attributes;

private Collection<TComment> comments;

private Collection<TImport> incomingImports;

private Collection<TReference> incomingReferences;

private Collection<TImplementation> interfaceImplementations;

private Boolean isAbstract = false;
private Boolean isAbstract;

private Boolean isClassSide = false;
private Boolean isClassSide;

private Boolean isFinal = false;
private Boolean isFinal;

private Boolean isStub;

Expand All @@ -67,6 +71,8 @@ public class Class extends Type implements TCanBeAbstract, TCanBeClassSide, TCan

private Number numberOfLinesOfCode;

private Collection<TImport> outgoingImports;

private TPackage parentPackage;

private Collection<TInvocation> receivingInvocations;
Expand All @@ -84,11 +90,6 @@ public class Class extends Type implements TCanBeAbstract, TCanBeClassSide, TCan
private String visibility;


@Override
public String toString() {
return "Class(" + name + ")";
}


@FameProperty(name = "isIgnored", derived = true)
public Collection<Boolean> getIsIgnored() {
Expand Down Expand Up @@ -243,6 +244,57 @@ public Number getHierarchyNestingLevel() {
throw new UnsupportedOperationException("Not yet implemented!");
}

@FameProperty(name = "incomingImports", opposite = "importedEntity", derived = true)
public Collection<TImport> getIncomingImports() {
if (incomingImports == null) {
incomingImports = new MultivalueSet<TImport>() {
@Override
protected void clearOpposite(TImport e) {
e.setImportedEntity(null);
}
@Override
protected void setOpposite(TImport e) {
e.setImportedEntity(Class.this);
}
};
}
return incomingImports;
}

public void setIncomingImports(Collection<? extends TImport> incomingImports) {
this.getIncomingImports().clear();
this.getIncomingImports().addAll(incomingImports);
}


public void addIncomingImports(TImport one) {
this.getIncomingImports().add(one);
}

public void addIncomingImports(TImport one, TImport... many) {
this.getIncomingImports().add(one);
for (TImport each : many)
this.getIncomingImports().add(each);
}

public void addIncomingImports(Iterable<? extends TImport> many) {
for (TImport each : many)
this.getIncomingImports().add(each);
}

public void addIncomingImports(TImport[] many) {
for (TImport each : many)
this.getIncomingImports().add(each);
}

public int numberOfIncomingImports() {
return getIncomingImports().size();
}

public boolean hasIncomingImports() {
return !getIncomingImports().isEmpty();
}

@FameProperty(name = "incomingReferences", opposite = "referredType", derived = true)
public Collection<TReference> getIncomingReferences() {
if (incomingReferences == null) {
Expand Down Expand Up @@ -377,9 +429,9 @@ public Boolean getIsFinal() {
public void setIsFinal(Boolean isFinal) {
this.isFinal = isFinal;
}

@FameProperty(name = "isPackage", derived = true)
public Boolean getIsPackage() {
@FameProperty(name = "isPackagegetIsPackageVisibility", derived = true)
public Boolean getIsPackageVisibility() {
return this.visibility.equals("package");
}

Expand All @@ -392,7 +444,7 @@ public Boolean getIsPrivate() {
public Boolean getIsProtected() {
return this.visibility.equals("protected");
}

@FameProperty(name = "isPublic", derived = true)
public Boolean getIsPublic() {
return this.visibility.equals("public");
Expand Down Expand Up @@ -602,6 +654,57 @@ public Number getNumberOfSubclasses() {
throw new UnsupportedOperationException("Not yet implemented!");
}

@FameProperty(name = "outgoingImports", opposite = "importingEntity", derived = true)
public Collection<TImport> getOutgoingImports() {
if (outgoingImports == null) {
outgoingImports = new MultivalueSet<TImport>() {
@Override
protected void clearOpposite(TImport e) {
e.setImportingEntity(null);
}
@Override
protected void setOpposite(TImport e) {
e.setImportingEntity(Class.this);
}
};
}
return outgoingImports;
}

public void setOutgoingImports(Collection<? extends TImport> outgoingImports) {
this.getOutgoingImports().clear();
this.getOutgoingImports().addAll(outgoingImports);
}


public void addOutgoingImports(TImport one) {
this.getOutgoingImports().add(one);
}

public void addOutgoingImports(TImport one, TImport... many) {
this.getOutgoingImports().add(one);
for (TImport each : many)
this.getOutgoingImports().add(each);
}

public void addOutgoingImports(Iterable<? extends TImport> many) {
for (TImport each : many)
this.getOutgoingImports().add(each);
}

public void addOutgoingImports(TImport[] many) {
for (TImport each : many)
this.getOutgoingImports().add(each);
}

public int numberOfOutgoingImports() {
return getOutgoingImports().size();
}

public boolean hasOutgoingImports() {
return !getOutgoingImports().isEmpty();
}

@FameProperty(name = "parentPackage", opposite = "childEntities", container = true)
public TPackage getParentPackage() {
return parentPackage;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
// Automagically generated code, please do not change
package org.moosetechnology.model.famix.famixjavaentities;

import org.moosetechnology.model.famix.famixtraits.TComment;
import org.moosetechnology.model.famix.famixtraits.TWithComments;

import ch.akuhn.fame.FameDescription;
import ch.akuhn.fame.FamePackage;
import ch.akuhn.fame.FameProperty;
import org.moosetechnology.model.famix.famixtraits.TComment;
import org.moosetechnology.model.famix.famixtraits.TWithComments;


@FamePackage("Famix-Java-Entities")
Expand All @@ -18,6 +17,7 @@ public class Comment extends SourcedEntity implements TComment {
private String content;



@FameProperty(name = "commentedEntity", opposite = "comments")
public TWithComments getCommentedEntity() {
return commentedEntity;
Expand Down
Loading

0 comments on commit 279eb94

Please sign in to comment.