JpsSdkReferenceRole class extracted

This commit is contained in:
Alexander Doroshko
2012-08-22 21:21:30 +04:00
parent db5665e3f6
commit e18b087a6e
2 changed files with 26 additions and 19 deletions
@@ -0,0 +1,26 @@
package org.jetbrains.jps.model.module.impl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.model.JpsElement;
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
import org.jetbrains.jps.model.library.sdk.JpsSdkReference;
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
public class JpsSdkReferenceRole<P extends JpsElement> extends JpsElementChildRoleBase<JpsSdkReference<P>> {
private final JpsSdkType<P> myType;
public JpsSdkReferenceRole(@NotNull JpsSdkType<P> type) {
super("sdk reference " + type);
myType = type;
}
@Override
public int hashCode() {
return myType.hashCode();
}
@Override
public boolean equals(Object obj) {
return obj instanceof JpsSdkReferenceRole && myType.equals(((JpsSdkReferenceRole)obj).myType);
}
}
@@ -46,25 +46,6 @@ public class JpsSdkReferencesTableImpl extends JpsCompositeElementBase<JpsSdkRef
return myContainer.getChild(new JpsSdkReferenceRole<P>(type));
}
private static class JpsSdkReferenceRole<P extends JpsElement> extends JpsElementChildRoleBase<JpsSdkReference<P>> {
private final JpsSdkType<P> myType;
private JpsSdkReferenceRole(@NotNull JpsSdkType<P> type) {
super("sdk reference " + type);
myType = type;
}
@Override
public int hashCode() {
return myType.hashCode();
}
@Override
public boolean equals(Object obj) {
return obj instanceof JpsSdkReferenceRole && myType.equals(((JpsSdkReferenceRole)obj).myType);
}
}
private static class JpsSdkReferencesTableRole extends JpsElementChildRoleBase<JpsSdkReferencesTable> implements JpsElementCreator<JpsSdkReferencesTable> {
public JpsSdkReferencesTableRole() {
super("sdk references");