/** * Get the cardinality by type. * * @param type the commont type * @return cardinality by type */ public static Cardinality toCardinality(String type) { for (Cardinality c : values) { if (c.getType().equals(type)) { return c; } } return fromString(type); }
@SuppressWarnings("unchecked") public Object cast(Object o, Class c) { return Cardinality.toCardinality((String)o); } }
/** * Create cardinality with [#left, #right] interval. * * @param left left point in interval * @param right right point in interval * @return cardinality */ public static Cardinality createCardinality(int left, int right) { return new Cardinality(getLimitFromInt(left) + ".." + getLimitFromInt(right), left, right); }
/** * Parse cardinality from string - #1..#2. * * @param string cardinality string * @return cardinality */ public static Cardinality fromString(String string) { if (string == null) throw new IllegalArgumentException("Null string."); if (string.contains("..")) { String[] args = string.split("\\.\\."); if (args == null || args.length != 2) throw new IllegalArgumentException("Illegal cardinality format: " + string); return createCardinality(getLimitFromString(args[0]), getLimitFromString(args[1])); } else return createUnlimitedCardinality(getLimitFromString(string)); }
protected AbstractCallbackMetaData createCallback(T info, Uninstall annotation) { UninstallCallbackMetaData callback = new UninstallCallbackMetaData(); callback.setState(new ControllerState(annotation.whenRequired())); callback.setDependentState(new ControllerState(annotation.dependentState())); if (isAttributePresent(annotation.cardinality())) callback.setCardinality(Cardinality.fromString(annotation.cardinality())); applyInfo(callback, info); return callback; }
/** * Create cardinality which ends at #end and starts at zero. * * @param end the right number of cardinality interval * @return cardinality * @see org.jboss.dependency.spi.Cardinality#createCardinality(int,int) */ public static Cardinality createLimitedCardinality(int end) { return createCardinality(0, end); }
public boolean unresolved(Controller controller) { if (getIDependOn() == null) return true; Set<KernelControllerContext> contexts = getContexts(controller); // minus one, since this is called when unistalling dependent context int size = contexts != null ? contexts.size() - 1 : 0; return cardinality.isInRange(size) == false; }
protected AbstractCallbackMetaData createCallback(FieldInfo info, Install annotation) { InstallCallbackMetaData callback = new InstallCallbackMetaData(); callback.setState(new ControllerState(annotation.whenRequired())); callback.setDependentState(new ControllerState(annotation.dependentState())); if (isAttributePresent(annotation.cardinality())) callback.setCardinality(Cardinality.fromString(annotation.cardinality())); applyInfo(callback, info); return callback; }
/** * Create cardinality which starts at #start and has no limit. * * @param start the left number of cardinality interval * @return cardinality * @see org.jboss.dependency.spi.Cardinality#createCardinality(int,int) */ public static Cardinality createUnlimitedCardinality(int start) { return createCardinality(start, INFINITY); }
public boolean resolve(Controller controller) { Set<KernelControllerContext> contexts = getContexts(controller); int size = contexts != null ? contexts.size() : 0; if (cardinality.isInRange(size)) { setIDependOn(getIDependOn()); if (contexts != null) { for (KernelControllerContext context : contexts) addDependsOnMe(controller, context); } setResolved(true); } else { setResolved(false); } return isResolved(); }
protected AbstractCallbackMetaData createCallback(T info, Install annotation) { InstallCallbackMetaData callback = new InstallCallbackMetaData(); callback.setState(new ControllerState(annotation.whenRequired())); callback.setDependentState(new ControllerState(annotation.dependentState())); if (isAttributePresent(annotation.cardinality())) callback.setCardinality(Cardinality.fromString(annotation.cardinality())); applyInfo(callback, info); return callback; }
@SuppressWarnings("unchecked") public Object cast(Object o, Class c) { return Cardinality.toCardinality((String)o); } }
protected AbstractCallbackMetaData createCallback(FieldInfo info, Uninstall annotation) { UninstallCallbackMetaData callback = new UninstallCallbackMetaData(); callback.setState(new ControllerState(annotation.whenRequired())); callback.setDependentState(new ControllerState(annotation.dependentState())); if (isAttributePresent(annotation.cardinality())) callback.setCardinality(Cardinality.fromString(annotation.cardinality())); applyInfo(callback, info); return callback; }